Class BasicHttpAsyncCache
java.lang.Object
org.apache.hc.client5.http.impl.cache.BasicHttpAsyncCache
- All Implemented Interfaces:
HttpAsyncCache
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final HttpAsyncCacheInvalidator
private final CacheKeyGenerator
private final CacheUpdateHandler
private static final org.slf4j.Logger
private final HttpAsyncCacheStorage
-
Constructor Summary
ConstructorsConstructorDescriptionBasicHttpAsyncCache
(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage) BasicHttpAsyncCache
(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage, CacheKeyGenerator cacheKeyGenerator) BasicHttpAsyncCache
(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage, CacheKeyGenerator cacheKeyGenerator, HttpAsyncCacheInvalidator cacheInvalidator) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.hc.core5.concurrent.Cancellable
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, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback) Store aHttpResponse
in the cache if possible, and returnorg.apache.hc.core5.concurrent.Cancellable
flushCacheEntriesFor
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) Clear all matchingHttpCacheEntry
s.org.apache.hc.core5.concurrent.Cancellable
flushCacheEntriesInvalidatedByExchange
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) FlushHttpCacheEntry
s invalidated by the given message exchange.org.apache.hc.core5.concurrent.Cancellable
flushCacheEntriesInvalidatedByRequest
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) FlushHttpCacheEntry
s invalidated by the given requestgenerateKey
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry cacheEntry) org.apache.hc.core5.concurrent.Cancellable
getCacheEntry
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback) Retrieve matchingHttpCacheEntry
from the cache if it existsorg.apache.hc.core5.concurrent.Cancellable
getVariantCacheEntriesWithEtags
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<Map<String, Variant>> callback) Retrieve all variants from the cache, if there are no variants then an emptyorg.apache.hc.core5.concurrent.Cancellable
reuseVariantEntryFor
(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, Variant variant, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) Specifies cache should reuse the given cached variant to satisfy requests whose varying headers match those of the given client request.(package private) org.apache.hc.core5.concurrent.Cancellable
storeEntry
(String cacheKey, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) (package private) org.apache.hc.core5.concurrent.Cancellable
storeInCache
(String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) (package private) org.apache.hc.core5.concurrent.Cancellable
storeVariantEntry
(String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest req, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) org.apache.hc.core5.concurrent.Cancellable
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, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback) Update aHttpCacheEntry
using a 304HttpResponse
.org.apache.hc.core5.concurrent.Cancellable
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, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback) 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
-
BasicHttpAsyncCache
public BasicHttpAsyncCache(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage, CacheKeyGenerator cacheKeyGenerator, HttpAsyncCacheInvalidator cacheInvalidator) -
BasicHttpAsyncCache
public BasicHttpAsyncCache(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage, CacheKeyGenerator cacheKeyGenerator) -
BasicHttpAsyncCache
-
-
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 interfaceHttpAsyncCache
-
flushCacheEntriesFor
public org.apache.hc.core5.concurrent.Cancellable flushCacheEntriesFor(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) Description copied from interface:HttpAsyncCache
Clear all matchingHttpCacheEntry
s.- Specified by:
flushCacheEntriesFor
in interfaceHttpAsyncCache
-
flushCacheEntriesInvalidatedByRequest
public org.apache.hc.core5.concurrent.Cancellable flushCacheEntriesInvalidatedByRequest(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) Description copied from interface:HttpAsyncCache
FlushHttpCacheEntry
s invalidated by the given request- Specified by:
flushCacheEntriesInvalidatedByRequest
in interfaceHttpAsyncCache
-
flushCacheEntriesInvalidatedByExchange
public org.apache.hc.core5.concurrent.Cancellable flushCacheEntriesInvalidatedByExchange(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) Description copied from interface:HttpAsyncCache
FlushHttpCacheEntry
s invalidated by the given message exchange.- Specified by:
flushCacheEntriesInvalidatedByExchange
in interfaceHttpAsyncCache
-
storeInCache
org.apache.hc.core5.concurrent.Cancellable storeInCache(String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) -
storeEntry
org.apache.hc.core5.concurrent.Cancellable storeEntry(String cacheKey, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) -
storeVariantEntry
org.apache.hc.core5.concurrent.Cancellable storeVariantEntry(String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest req, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) -
reuseVariantEntryFor
public org.apache.hc.core5.concurrent.Cancellable reuseVariantEntryFor(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, Variant variant, org.apache.hc.core5.concurrent.FutureCallback<Boolean> callback) Description copied from interface:HttpAsyncCache
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 interfaceHttpAsyncCache
-
updateCacheEntry
public org.apache.hc.core5.concurrent.Cancellable 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, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback) Description copied from interface:HttpAsyncCache
Update aHttpCacheEntry
using a 304HttpResponse
.- Specified by:
updateCacheEntry
in interfaceHttpAsyncCache
-
updateVariantCacheEntry
public org.apache.hc.core5.concurrent.Cancellable 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, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback) Description copied from interface:HttpAsyncCache
Update a specificHttpCacheEntry
representing a cached variant using a 304HttpResponse
.- Specified by:
updateVariantCacheEntry
in interfaceHttpAsyncCache
-
createCacheEntry
public org.apache.hc.core5.concurrent.Cancellable 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, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback) Description copied from interface:HttpAsyncCache
Store aHttpResponse
in the cache if possible, and return- Specified by:
createCacheEntry
in interfaceHttpAsyncCache
-
getCacheEntry
public org.apache.hc.core5.concurrent.Cancellable getCacheEntry(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback) Description copied from interface:HttpAsyncCache
Retrieve matchingHttpCacheEntry
from the cache if it exists- Specified by:
getCacheEntry
in interfaceHttpAsyncCache
-
getVariantCacheEntriesWithEtags
public org.apache.hc.core5.concurrent.Cancellable getVariantCacheEntriesWithEtags(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<Map<String, Variant>> callback) Description copied from interface:HttpAsyncCache
Retrieve all variants from the cache, if there are no variants then an empty- Specified by:
getVariantCacheEntriesWithEtags
in interfaceHttpAsyncCache
-