com.typesafe.play.cachecontrol

Cache

trait Cache extends AnyRef

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.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Cache
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def calculateFreshnessFromHeuristic(request: CacheRequest, response: CacheResponse): Option[Seconds]

    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.

    See also

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

  2. abstract 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.

    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.

    presentedHeaders

    the presented headers by the new request.

    nominatedHeaders

    the header fields nominated by the stored response

    returns

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

    See also

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

  3. abstract def isCacheableExtension(extension: CacheDirectiveExtension): Boolean

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

  4. abstract 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.

    See also

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

  5. abstract 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.

  6. abstract def isShared: Boolean

    Returns true if this is a shared cache.

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

  7. abstract 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.

    See also

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

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  18. def toString(): String

    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped