class AhcHttpCache extends CacheDefaults with Debug
Central HTTP cache. This keeps a cache of HTTP responses according to https://tools.ietf.org/html/rfc7234#section-2
The primary cache key consists of the request method and target URI. However, since HTTP caches in common use today are typically limited to caching responses to GET, many caches simply decline other methods and use only the URI as the primary cache key.
- Alphabetic
- By Inheritance
- AhcHttpCache
- Debug
- AhcUtilities
- CacheDefaults
- Cache
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addDisconnectHeader(response: CacheableResponse): CacheableResponse
- def addRevalidationFailed(response: CacheableResponse): CacheableResponse
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def cacheResponse(request: Request, response: CacheableResponse): Unit
Caches the response, stripping any headers marked as "not-cacheable".
- def cachingAction(request: Request, response: CacheableResponse): ResponseCachingAction
- def calculateCurrentAge(request: CacheRequest, response: StoredResponse, requestTime: ZonedDateTime, responseTime: ZonedDateTime): Seconds
Calculates the current age of the stored response.
Calculates the current age of the stored response.
- Attributes
- protected
- def calculateCurrentAge(request: Request, entry: ResponseEntry, requestTime: ZonedDateTime): Seconds
Calculates the current age of the stored response.
- def calculateFreshnessFromHeuristic(request: CacheRequest, response: CacheResponse): Option[Seconds]
- Definition Classes
- AhcHttpCache → Cache
- def calculateFreshnessLifetime(request: Request, entry: ResponseEntry): Seconds
- def calculateSecondaryKeys(request: Request, response: Response): Option[Map[HeaderName, Seq[String]]]
Calculates the secondary keys of the request.
- def calculateTimeToLive(request: Request, status: CacheableHttpResponseStatus, headers: HttpHeaders): Option[ZonedDateTime]
Calculates the time to live.
Calculates the time to live. Currently hardcoded to 24 hours.
- Attributes
- protected
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def close(): Unit
- def containsMatchingHeaders(presentedHeaders: Map[HeaderName, Seq[String]], nominatedHeaders: Map[HeaderName, Seq[String]]): Boolean
- Definition Classes
- CacheDefaults → Cache
- def debug(bodyPart: HttpResponseBodyPart): String
- Definition Classes
- Debug
- def debug[T](ctx: FilterContext[T]): String
- Definition Classes
- Debug
- def debug[T](handler: AsyncHandler[T]): String
- Definition Classes
- Debug
- def debug(bodyParts: List[HttpResponseBodyPart]): String
- Definition Classes
- Debug
- def debug(responseHeaders: HttpHeaders): String
- Definition Classes
- Debug
- def debug(responseStatus: HttpResponseStatus): String
- Definition Classes
- Debug
- def debug(response: Response): String
- Definition Classes
- Debug
- def debug(request: Request): String
- Definition Classes
- Debug
- def debug(cfg: AsyncHttpClientConfig): String
- Definition Classes
- Debug
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit val executionContext: ExecutionContext
- def freshenResponse(newHeaders: HttpHeaders, response: CacheableResponse): CacheableResponse
- def generateCacheRequest(request: Request): CacheRequest
- Attributes
- protected
- def generateCachedResponse(request: Request, entry: ResponseEntry, currentAge: Seconds, isFresh: Boolean): CacheableResponse
Generates a response for the HTTP response with the appropriate headers.
- def generateOriginResponse(request: Request, status: Int, responseHeaders: HttpHeaders): OriginResponse
- Attributes
- protected
- def generateStoredResponse(response: CacheableResponse, requestMethod: String, nominatedHeaders: Map[HeaderName, Seq[String]]): StoredResponse
- Attributes
- protected
- def get(key: EffectiveURIKey): Future[Option[ResponseEntry]]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def getURI(response: CacheableResponse, headerName: String): Option[URI]
Gets the effective URI of the response.
Gets the effective URI of the response.
- Attributes
- protected
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def headersToMap(headers: HttpHeaders): TreeMap[String, Seq[String]]
- Definition Classes
- AhcUtilities
- def invalidateIfUnsafe(request: Request, response: CacheableResponse): Unit
Invalidates the effective request URI if the method is unsafe.
- def invalidateKey(key: EffectiveURIKey): Unit
Invalidates the key.
- def isCacheableExtension(extension: CacheDirectiveExtension): Boolean
- Definition Classes
- AhcHttpCache → CacheDefaults → Cache
- def isCacheableMethod(requestMethod: String): Boolean
- Definition Classes
- CacheDefaults → Cache
- def isDefaultCacheable(statusCode: Int): Boolean
- Definition Classes
- CacheDefaults → Cache
- def isError(response: CacheableResponse): Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isNonErrorResponse(response: CacheableResponse): Boolean
- Attributes
- protected
- def isNotModified(response: CacheableResponse): Boolean
- def isShared: Boolean
Cache is not shared.
Cache is not shared.
- Definition Classes
- AhcHttpCache → Cache
- def isUncachedResponse(any: Any): Boolean
- def isUnderstoodStatusCode(statusCode: Int): Boolean
- Definition Classes
- CacheDefaults → Cache
- def isUnsafeMethod(request: Request): Boolean
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def put(key: EffectiveURIKey, entry: ResponseEntry): Future[Unit]
- def remove(key: EffectiveURIKey): Future[Unit]
- def replaceHeaders(response: CacheableResponse)(block: (HttpHeaders) => HttpHeaders): CacheableResponse
- def selectionAction(request: Request, entries: Seq[ResponseEntry]): ResponseSelectionAction
- def serveAction(request: Request, entry: ResponseEntry, currentAge: Seconds): ResponseServeAction
- def stripHeaders(request: Request, httpResponse: CacheableResponse): CacheableResponse
Strips headers using a strip headers cache-control calculator.
Strips headers using a strip headers cache-control calculator.
- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AhcHttpCache → AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)