Cache

com.typesafe.play.cachecontrol.Cache
trait Cache

This trait defines methods that are used through the library where core business logic belongs to the cache that is not in scope for RFC 7234 and cannot be predefined.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

Allows the cache to calculate the freshness lifetime of the request using a heuristic.

Allows the cache to calculate the freshness lifetime of the request using a heuristic.

Attributes

See also
def containsMatchingHeaders(presentedHeaders: Map[HeaderName, Seq[String]], nominatedHeaders: Map[HeaderName, Seq[String]]): Boolean

Returns true if the selecting header fields nominated by the stored response match those presented by the new request. This method is broken out into the cache functionality as section 4.1 can do transformation of header fields in non-trivial ways that cannot be anticipated by this library in order to find a match. Given the vagaries of Vary and the overall complexities of fields such as User-Agent, the assumption is that the cache knows best.

Returns true if the selecting header fields nominated by the stored response match those presented by the new request. This method is broken out into the cache functionality as section 4.1 can do transformation of header fields in non-trivial ways that cannot be anticipated by this library in order to find a match. Given the vagaries of Vary and the overall complexities of fields such as User-Agent, the assumption is that the cache knows best.

Value parameters

nominatedHeaders

the header fields nominated by the stored response

presentedHeaders

the presented headers by the new request.

Attributes

Returns

true if the cache considers it a match, false otherwise.

See also

Returns true if the cache knows what to do with this cache extension, false otherwise.

Returns true if the cache knows what to do with this cache extension, false otherwise.

Attributes

def isCacheableMethod(requestMethod: String): Boolean

In this context, a cache has "understood" a request method or a response status code if it recognizes it and implements all specified caching-related behavior.

In this context, a cache has "understood" a request method or a response status code if it recognizes it and implements all specified caching-related behavior.

Attributes

See also
def isDefaultCacheable(statusCode: Int): Boolean

Returns whether a status code is cacheable by default or not.

Returns whether a status code is cacheable by default or not.

Note that in situations where the cache wants to be more conservative and ONLY cache when there is an explicit caching header, this method should always return false. See Chris Heald's position on https://blog.phusion.nl/2015/02/09/turbocaching-security-changes/ for more details.

Attributes

def isShared: Boolean

Returns true if this is a shared cache. False indicates that this is a private cache.

Returns true if this is a shared cache. False indicates that this is a private cache.

Attributes

def isUnderstoodStatusCode(statusCode: Int): Boolean

In this context, a cache has "understood" a request method or a response status code if it recognizes it and implements all specified caching-related behavior.

In this context, a cache has "understood" a request method or a response status code if it recognizes it and implements all specified caching-related behavior.

Attributes

See also