org.playframework.cachecontrol

Members list

Type members

Classlikes

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.

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

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class CacheControlException(message: String, ex: Throwable) extends RuntimeException

Attributes

Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
trait CacheDefaults extends Cache

Attributes

Supertypes
trait Cache
class Object
trait Matchable
class Any
sealed trait CacheDirective

A trait that marks the cache directives generated from parsing a cache-control header.

A trait that marks the cache directives generated from parsing a cache-control header.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class MaxAge
class MaxStale
class MinFresh
class NoCache
object NoStore
object NoTransform
object OnlyIfCached
class Private
object Public
class SMaxAge
class StaleIfError
Show all

The parser for cache directives specified in the "Cache-Control" HTTP header.

The parser for cache directives specified in the "Cache-Control" HTTP header.

https://tools.ietf.org/html/rfc7234#section-5.2

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class CacheRequest(uri: URI, method: String, headers: Map[HeaderName, Seq[String]])

An incoming request which may be served from cache.

An incoming request which may be served from cache.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Calculates the current age of a response.

Calculates the current age of a response.

https://tools.ietf.org/html/rfc7234#section-4.2.3

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class FreshnessCalculator(cache: Cache)

Calculates freshness lifetime for a request.

Calculates freshness lifetime for a request.

Attributes

Supertypes
class Object
trait Matchable
class Any
case class HeaderName(raw: String) extends Ordered[HeaderName]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ordered[HeaderName]
trait Comparable[HeaderName]
class Object
trait Matchable
class Any
Show all
object HeaderNames

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object HttpDate

Defines methods for parsing and formatting HTTP dates.

Defines methods for parsing and formatting HTTP dates.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
HttpDate.type
case class OriginResponse(uri: URI, status: Int, headers: Map[HeaderName, Seq[String]]) extends CacheResponse

A response from an origin server.

A response from an origin server.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed trait ResponseCachingAction

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Case classes used by ResponseCachingPolicy.

Case classes used by ResponseCachingPolicy.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Decides whether this response from an origin server should be stored in cached or not.

Decides whether this response from an origin server should be stored in cached or not.

https://tools.ietf.org/html/rfc7234#section-3

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Predefined actions to take for a selected response.

Predefined actions to take for a selected response.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

This class looks through the available responses, and provides an action -- either selecting a response, or rejecting with either a timeout or forward to origin. The cache's containsMatchingHeaders method is called in the case where the response has secondary keys (defined with Vary) that must be matched.

This class looks through the available responses, and provides an action -- either selecting a response, or rejecting with either a timeout or forward to origin. The cache's containsMatchingHeaders method is called in the case where the response has secondary keys (defined with Vary) that must be matched.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait ResponseServeAction

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

The possible actions a client can execute when determining to serve a stored response.

The possible actions a client can execute when determining to serve a stored response.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

This class determines whether a cache can serve a stored response from request. It is "Constructing Responses from Caches" section in RFC 7234.

This class determines whether a cache can serve a stored response from request. It is "Constructing Responses from Caches" section in RFC 7234.

If there are multiple matches, the most recent response must be sent for evaluation, as determined by the Date header field.

https://tools.ietf.org/html/rfc7234#section-4

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type

This class produces secondary keys for a response from an origin server that contains a Vary header.

This class produces secondary keys for a response from an origin server that contains a Vary header.

The cache must store the response with the requested header from the original request, so that subsequent requests match. This is a little confusing, so an example follows:

A request comes in with:

GET /some/path HTTP/1.1
Host: example.com
Accept-Encoding: gzip

The response comes back with a Vary header on the Accept-Encoding:

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: application/json
Content-Length: 230
Cache-Control: max-age=10000000

The cache has to look at the Vary header, see that "Accept-Encoding" is a header on the request, and then store "Accept-Encoding: gzip" as a secondary key on the cache entry.

The implication is that the primary key entry of "GET http://example.com/some/path" is insufficient, and in order to get that specific response from cache, any subsequent requests should have a "Accept-Encoding: gzip" header in the same way.

Attributes

See also
Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
case class Seconds extends TemporalAmount

An immutable time period representing a number of seconds.

An immutable time period representing a number of seconds.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait TemporalAmount
class Object
trait Matchable
class Any
Show all
object Seconds

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Seconds.type
case class StoredResponse(uri: URI, status: Int, headers: Map[HeaderName, Seq[String]], requestMethod: String, nominatedHeaders: Map[HeaderName, Seq[String]]) extends CacheResponse

A response that comes from cache.

A response that comes from cache.

Value parameters

headers

the headers on the stored response.

nominatedHeaders

the request headers that were nominated by the response's Vary header.

requestMethod

the original request method that was used to generate the stored response.

status

the numeric cached response status code.

uri

the effective request URI. This is part of the primary cache lookup key.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Tells the cache what headers should be stripped before they are cached.

Tells the cache what headers should be stripped before they are cached.

Attributes

Supertypes
class Object
trait Matchable
class Any
object VaryParser

Parses the Vary header in to a list of field names.

Parses the Vary header in to a list of field names.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
VaryParser.type
case class Warning(code: Int, agent: String, text: String, date: Option[ZonedDateTime])

A parsed warning.

A parsed warning.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object WarningParser

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type