c

play.api.cache

CachedBuilder

final class CachedBuilder extends AnyRef

Builds an action with caching behavior. Typically created with one of the methods in the Cached class. Uses both server and client caches:

  • Adds an Expires header to the response, so clients can cache response content ;
  • Adds an Etag header to the response, so clients can cache response content and ask the server for freshness ;
  • Cache the result on the server, so the underlying action is not computed at each call.
Source
Cached.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CachedBuilder
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CachedBuilder(cache: AsyncCacheApi, key: (RequestHeader) => String, caching: PartialFunction[ResponseHeader, Duration])(implicit materializer: Materializer)

    cache

    The cache used for caching results

    key

    Compute a key from the request header

    caching

    A callback to get the number of seconds to cache results for

Value Members

  1. def apply(action: EssentialAction): EssentialAction

    Compose the cache with an action

  2. def build(action: EssentialAction): EssentialAction

    Compose the cache with an action

  3. def compose(alternative: PartialFunction[ResponseHeader, Duration]): CachedBuilder

    Compose the cache with new caching function

    Compose the cache with new caching function

    alternative

    a closure getting the response header and returning the duration we should cache for

  4. def default(duration: Int): CachedBuilder

    The returned cache will store all responses whatever they may contain

    The returned cache will store all responses whatever they may contain

    duration

    the number of seconds we should store responses

  5. def default(duration: Duration): CachedBuilder

    The returned cache will store all responses whatever they may contain

    The returned cache will store all responses whatever they may contain

    duration

    how long we should store responses

  6. def includeStatus(status: Int, duration: Duration): CachedBuilder

    Whether this cache should cache the specified response if the status code match This method will cache the result for duration seconds

    Whether this cache should cache the specified response if the status code match This method will cache the result for duration seconds

    status

    the status code to check

    duration

    how long should we cache the result for

  7. def includeStatus(status: Int, duration: Int): CachedBuilder

    Whether this cache should cache the specified response if the status code match This method will cache the result for duration seconds

    Whether this cache should cache the specified response if the status code match This method will cache the result for duration seconds

    status

    the status code to check

    duration

    the number of seconds to cache the result for

  8. def includeStatus(status: Int): CachedBuilder

    Whether this cache should cache the specified response if the status code match This method will cache the result forever