Class CachingExecBase
- java.lang.Object
-
- org.apache.hc.client5.http.impl.cache.CachingExecBase
-
- Direct Known Subclasses:
AsyncCachingExec,CachingExec
public class CachingExecBase extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) CacheableRequestPolicycacheableRequestPolicy(package private) CacheConfigcacheConfig(package private) java.util.concurrent.atomic.AtomicLongcacheHits(package private) java.util.concurrent.atomic.AtomicLongcacheMisses(package private) java.util.concurrent.atomic.AtomicLongcacheUpdates(package private) ResponseCachingPolicyresponseCachingPolicy(package private) CachedHttpResponseGeneratorresponseGenerator(package private) CachedResponseSuitabilityCheckersuitabilityChecker(package private) CacheValidityPolicyvalidityPolicy
-
Constructor Summary
Constructors Constructor Description CachingExecBase(CacheConfig config)CachingExecBase(CacheValidityPolicy validityPolicy, ResponseCachingPolicy responseCachingPolicy, CachedHttpResponseGenerator responseGenerator, CacheableRequestPolicy cacheableRequestPolicy, CachedResponseSuitabilityChecker suitabilityChecker, CacheConfig config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleanclientRequestsOurOptions(org.apache.hc.core5.http.HttpRequest request)(package private) SimpleHttpResponsegenerateCachedResponse(org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry entry, java.time.Instant now)(package private) SimpleHttpResponsegenerateGatewayTimeout()longgetCacheHits()Reports the number of times that the cache successfully responded to anHttpRequestwithout contacting the origin server.longgetCacheMisses()Reports the number of times that the cache contacted the origin server because it had no appropriate response cached.longgetCacheUpdates()Reports the number of times that the cache was able to satisfy a response by revalidating an existing but stale cache entry.(package private) java.time.InstantgetCurrentDate()(package private) booleanisResponseTooBig(org.apache.hc.core5.http.EntityDetails entityDetails)(package private) booleanshouldSendNotModifiedResponse(org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry responseEntry, java.time.Instant now)(package private) booleanstaleIfErrorAppliesTo(int statusCode)(package private) voidstoreRequestIfModifiedSinceFor304Response(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse backendResponse)For 304 Not modified responses, adds a "Last-Modified" header with the value of the "If-Modified-Since" header passed in the request.
-
-
-
Field Detail
-
cacheHits
final java.util.concurrent.atomic.AtomicLong cacheHits
-
cacheMisses
final java.util.concurrent.atomic.AtomicLong cacheMisses
-
cacheUpdates
final java.util.concurrent.atomic.AtomicLong cacheUpdates
-
responseCachingPolicy
final ResponseCachingPolicy responseCachingPolicy
-
validityPolicy
final CacheValidityPolicy validityPolicy
-
responseGenerator
final CachedHttpResponseGenerator responseGenerator
-
cacheableRequestPolicy
final CacheableRequestPolicy cacheableRequestPolicy
-
suitabilityChecker
final CachedResponseSuitabilityChecker suitabilityChecker
-
cacheConfig
final CacheConfig cacheConfig
-
-
Constructor Detail
-
CachingExecBase
CachingExecBase(CacheValidityPolicy validityPolicy, ResponseCachingPolicy responseCachingPolicy, CachedHttpResponseGenerator responseGenerator, CacheableRequestPolicy cacheableRequestPolicy, CachedResponseSuitabilityChecker suitabilityChecker, CacheConfig config)
-
CachingExecBase
CachingExecBase(CacheConfig config)
-
-
Method Detail
-
getCacheHits
public long getCacheHits()
Reports the number of times that the cache successfully responded to anHttpRequestwithout contacting the origin server.- Returns:
- the number of cache hits
-
getCacheMisses
public long getCacheMisses()
Reports the number of times that the cache contacted the origin server because it had no appropriate response cached.- Returns:
- the number of cache misses
-
getCacheUpdates
public long getCacheUpdates()
Reports the number of times that the cache was able to satisfy a response by revalidating an existing but stale cache entry.- Returns:
- the number of cache revalidations
-
generateCachedResponse
SimpleHttpResponse generateCachedResponse(org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry entry, java.time.Instant now) throws ResourceIOException
- Throws:
ResourceIOException
-
generateGatewayTimeout
SimpleHttpResponse generateGatewayTimeout()
-
getCurrentDate
java.time.Instant getCurrentDate()
-
clientRequestsOurOptions
boolean clientRequestsOurOptions(org.apache.hc.core5.http.HttpRequest request)
-
shouldSendNotModifiedResponse
boolean shouldSendNotModifiedResponse(org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry responseEntry, java.time.Instant now)
-
staleIfErrorAppliesTo
boolean staleIfErrorAppliesTo(int statusCode)
-
storeRequestIfModifiedSinceFor304Response
void storeRequestIfModifiedSinceFor304Response(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse backendResponse)For 304 Not modified responses, adds a "Last-Modified" header with the value of the "If-Modified-Since" header passed in the request. This header is required to be able to reuse match the cache entry for subsequent requests but as defined in http specifications it is not included in 304 responses by backend servers. This header will not be included in the resulting response.
-
isResponseTooBig
boolean isResponseTooBig(org.apache.hc.core5.http.EntityDetails entityDetails)
-
-