Class BasicHttpCache
java.lang.Object
org.apache.hc.client5.http.impl.cache.BasicHttpCache
- All Implemented Interfaces:
HttpCache
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final HttpCacheInvalidator
private final CacheKeyGenerator
private final CacheUpdateHandler
private static final org.slf4j.Logger
private final HttpCacheStorage
-
Constructor Summary
ConstructorsConstructorDescriptionBasicHttpCache
(ResourceFactory resourceFactory, HttpCacheStorage storage) BasicHttpCache
(ResourceFactory resourceFactory, HttpCacheStorage storage, CacheKeyGenerator cacheKeyGenerator) BasicHttpCache
(ResourceFactory resourceFactory, HttpCacheStorage storage, CacheKeyGenerator cacheKeyGenerator, HttpCacheInvalidator cacheInvalidator) BasicHttpCache
(CacheConfig config) -
Method Summary
Modifier and TypeMethodDescriptioncreateCacheEntry
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse originResponse, org.apache.hc.core5.util.ByteArrayBuffer content, Instant requestSent, Instant responseReceived) Store aHttpResponse
in the cache if possible, and returnvoid
flushCacheEntriesFor
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request) Clear all matchingHttpCacheEntry
s.void
flushCacheEntriesInvalidatedByExchange
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response) FlushHttpCacheEntry
s invalidated by the given message exchange.void
flushCacheEntriesInvalidatedByRequest
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request) FlushHttpCacheEntry
s invalidated by the given requestgenerateKey
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry cacheEntry) getCacheEntry
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request) Retrieve matchingHttpCacheEntry
from the cache if it exists.getVariantCacheEntriesWithEtags
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request) Retrieve all variants from the cache, if there are no variants then an emptyMap
is returnedvoid
reuseVariantEntryFor
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, Variant variant) Specifies cache should reuse the given cached variant to satisfy requests whose varying headers match those of the given client request.(package private) void
storeEntry
(String cacheKey, HttpCacheEntry entry) (package private) void
storeInCache
(String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry entry) (package private) void
storeVariantEntry
(String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest req, HttpCacheEntry entry) updateCacheEntry
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry stale, org.apache.hc.core5.http.HttpResponse originResponse, Instant requestSent, Instant responseReceived) Update aHttpCacheEntry
using a 304HttpResponse
.updateVariantCacheEntry
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse originResponse, Variant variant, Instant requestSent, Instant responseReceived) Update a specificHttpCacheEntry
representing a cached variant using a 304HttpResponse
.
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
cacheUpdateHandler
-
cacheKeyGenerator
-
cacheInvalidator
-
storage
-
-
Constructor Details
-
BasicHttpCache
public BasicHttpCache(ResourceFactory resourceFactory, HttpCacheStorage storage, CacheKeyGenerator cacheKeyGenerator, HttpCacheInvalidator cacheInvalidator) -
BasicHttpCache
public BasicHttpCache(ResourceFactory resourceFactory, HttpCacheStorage storage, CacheKeyGenerator cacheKeyGenerator) -
BasicHttpCache
-
BasicHttpCache
-
BasicHttpCache
public BasicHttpCache()
-
-
Method Details
-
generateKey
public String generateKey(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry cacheEntry) - Specified by:
generateKey
in interfaceHttpCache
-
flushCacheEntriesFor
public void flushCacheEntriesFor(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request) Description copied from interface:HttpCache
Clear all matchingHttpCacheEntry
s.- Specified by:
flushCacheEntriesFor
in interfaceHttpCache
-
flushCacheEntriesInvalidatedByRequest
public void flushCacheEntriesInvalidatedByRequest(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request) Description copied from interface:HttpCache
FlushHttpCacheEntry
s invalidated by the given request- Specified by:
flushCacheEntriesInvalidatedByRequest
in interfaceHttpCache
-
flushCacheEntriesInvalidatedByExchange
public void flushCacheEntriesInvalidatedByExchange(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response) Description copied from interface:HttpCache
FlushHttpCacheEntry
s invalidated by the given message exchange.- Specified by:
flushCacheEntriesInvalidatedByExchange
in interfaceHttpCache
-
storeInCache
void storeInCache(String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry entry) -
storeEntry
-
storeVariantEntry
void storeVariantEntry(String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest req, HttpCacheEntry entry) -
reuseVariantEntryFor
public void reuseVariantEntryFor(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, Variant variant) Description copied from interface:HttpCache
Specifies cache should reuse the given cached variant to satisfy requests whose varying headers match those of the given client request.- Specified by:
reuseVariantEntryFor
in interfaceHttpCache
-
updateCacheEntry
public HttpCacheEntry updateCacheEntry(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry stale, org.apache.hc.core5.http.HttpResponse originResponse, Instant requestSent, Instant responseReceived) Description copied from interface:HttpCache
Update aHttpCacheEntry
using a 304HttpResponse
.- Specified by:
updateCacheEntry
in interfaceHttpCache
-
updateVariantCacheEntry
public HttpCacheEntry updateVariantCacheEntry(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse originResponse, Variant variant, Instant requestSent, Instant responseReceived) Description copied from interface:HttpCache
Update a specificHttpCacheEntry
representing a cached variant using a 304HttpResponse
.- Specified by:
updateVariantCacheEntry
in interfaceHttpCache
-
createCacheEntry
public HttpCacheEntry createCacheEntry(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse originResponse, org.apache.hc.core5.util.ByteArrayBuffer content, Instant requestSent, Instant responseReceived) Description copied from interface:HttpCache
Store aHttpResponse
in the cache if possible, and return- Specified by:
createCacheEntry
in interfaceHttpCache
-
getCacheEntry
public HttpCacheEntry getCacheEntry(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request) Description copied from interface:HttpCache
Retrieve matchingHttpCacheEntry
from the cache if it exists.- Specified by:
getCacheEntry
in interfaceHttpCache
-
getVariantCacheEntriesWithEtags
public Map<String,Variant> getVariantCacheEntriesWithEtags(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request) Description copied from interface:HttpCache
Retrieve all variants from the cache, if there are no variants then an emptyMap
is returned- Specified by:
getVariantCacheEntriesWithEtags
in interfaceHttpCache
-