Trait

com.typesafe.play.cachecontrol

Cache

Related Doc: package cachecontrol

Permalink

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.

Source
Cache.scala
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
Visibility
  1. Public
  2. All

Abstract Value Members

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

    Permalink

    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

    Permalink

    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

    Permalink

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

  4. abstract def isCacheableMethod(requestMethod: String): Boolean

    Permalink

    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

    Permalink

    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

    Permalink

    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

    Permalink

    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: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped