Class BasicHttpAsyncCache
- java.lang.Object
-
- org.apache.hc.client5.http.impl.cache.BasicHttpAsyncCache
-
- All Implemented Interfaces:
HttpAsyncCache
class BasicHttpAsyncCache extends java.lang.Object implements HttpAsyncCache
-
-
Field Summary
Fields Modifier and Type Field Description private HttpAsyncCacheInvalidatorcacheInvalidatorprivate CacheKeyGeneratorcacheKeyGeneratorprivate CacheUpdateHandlercacheUpdateHandlerprivate static org.slf4j.LoggerLOGprivate HttpAsyncCacheStoragestorage
-
Constructor Summary
Constructors Constructor Description BasicHttpAsyncCache(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage)BasicHttpAsyncCache(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage, CacheKeyGenerator cacheKeyGenerator)BasicHttpAsyncCache(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage, CacheKeyGenerator cacheKeyGenerator, HttpAsyncCacheInvalidator cacheInvalidator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.hc.core5.concurrent.CancellablecreateCacheEntry(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, java.time.Instant requestSent, java.time.Instant responseReceived, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)Store aHttpResponsein the cache if possible, and returnorg.apache.hc.core5.concurrent.CancellableflushCacheEntriesFor(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)Clear all matchingHttpCacheEntrys.org.apache.hc.core5.concurrent.CancellableflushCacheEntriesInvalidatedByExchange(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<java.lang.Boolean> callback)FlushHttpCacheEntrys invalidated by the given message exchange.org.apache.hc.core5.concurrent.CancellableflushCacheEntriesInvalidatedByRequest(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)FlushHttpCacheEntrys invalidated by the given requestjava.lang.StringgenerateKey(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry cacheEntry)org.apache.hc.core5.concurrent.CancellablegetCacheEntry(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)Retrieve matchingHttpCacheEntryfrom the cache if it existsorg.apache.hc.core5.concurrent.CancellablegetVariantCacheEntriesWithEtags(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<java.util.Map<java.lang.String,Variant>> callback)Retrieve all variants from the cache, if there are no variants then an emptyorg.apache.hc.core5.concurrent.CancellablereuseVariantEntryFor(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, Variant variant, org.apache.hc.core5.concurrent.FutureCallback<java.lang.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.CancellablestoreEntry(java.lang.String cacheKey, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)(package private) org.apache.hc.core5.concurrent.CancellablestoreInCache(java.lang.String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)(package private) org.apache.hc.core5.concurrent.CancellablestoreVariantEntry(java.lang.String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest req, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)org.apache.hc.core5.concurrent.CancellableupdateCacheEntry(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry stale, org.apache.hc.core5.http.HttpResponse originResponse, java.time.Instant requestSent, java.time.Instant responseReceived, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)Update aHttpCacheEntryusing a 304HttpResponse.org.apache.hc.core5.concurrent.CancellableupdateVariantCacheEntry(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse originResponse, Variant variant, java.time.Instant requestSent, java.time.Instant responseReceived, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)Update a specificHttpCacheEntryrepresenting a cached variant using a 304HttpResponse.
-
-
-
Field Detail
-
LOG
private static final org.slf4j.Logger LOG
-
cacheUpdateHandler
private final CacheUpdateHandler cacheUpdateHandler
-
cacheKeyGenerator
private final CacheKeyGenerator cacheKeyGenerator
-
cacheInvalidator
private final HttpAsyncCacheInvalidator cacheInvalidator
-
storage
private final HttpAsyncCacheStorage storage
-
-
Constructor Detail
-
BasicHttpAsyncCache
public BasicHttpAsyncCache(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage, CacheKeyGenerator cacheKeyGenerator, HttpAsyncCacheInvalidator cacheInvalidator)
-
BasicHttpAsyncCache
public BasicHttpAsyncCache(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage, CacheKeyGenerator cacheKeyGenerator)
-
BasicHttpAsyncCache
public BasicHttpAsyncCache(ResourceFactory resourceFactory, HttpAsyncCacheStorage storage)
-
-
Method Detail
-
generateKey
public java.lang.String generateKey(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry cacheEntry)- Specified by:
generateKeyin 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<java.lang.Boolean> callback)Description copied from interface:HttpAsyncCacheClear all matchingHttpCacheEntrys.- Specified by:
flushCacheEntriesForin 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<java.lang.Boolean> callback)Description copied from interface:HttpAsyncCacheFlushHttpCacheEntrys invalidated by the given request- Specified by:
flushCacheEntriesInvalidatedByRequestin 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<java.lang.Boolean> callback)Description copied from interface:HttpAsyncCacheFlushHttpCacheEntrys invalidated by the given message exchange.- Specified by:
flushCacheEntriesInvalidatedByExchangein interfaceHttpAsyncCache
-
storeInCache
org.apache.hc.core5.concurrent.Cancellable storeInCache(java.lang.String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
-
storeEntry
org.apache.hc.core5.concurrent.Cancellable storeEntry(java.lang.String cacheKey, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
-
storeVariantEntry
org.apache.hc.core5.concurrent.Cancellable storeVariantEntry(java.lang.String cacheKey, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest req, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<java.lang.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<java.lang.Boolean> callback)Description copied from interface:HttpAsyncCacheSpecifies cache should reuse the given cached variant to satisfy requests whose varying headers match those of the given client request.- Specified by:
reuseVariantEntryForin 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, java.time.Instant requestSent, java.time.Instant responseReceived, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)Description copied from interface:HttpAsyncCacheUpdate aHttpCacheEntryusing a 304HttpResponse.- Specified by:
updateCacheEntryin 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, java.time.Instant requestSent, java.time.Instant responseReceived, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)Description copied from interface:HttpAsyncCacheUpdate a specificHttpCacheEntryrepresenting a cached variant using a 304HttpResponse.- Specified by:
updateVariantCacheEntryin 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, java.time.Instant requestSent, java.time.Instant responseReceived, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)Description copied from interface:HttpAsyncCacheStore aHttpResponsein the cache if possible, and return- Specified by:
createCacheEntryin 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:HttpAsyncCacheRetrieve matchingHttpCacheEntryfrom the cache if it exists- Specified by:
getCacheEntryin 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<java.util.Map<java.lang.String,Variant>> callback)Description copied from interface:HttpAsyncCacheRetrieve all variants from the cache, if there are no variants then an empty- Specified by:
getVariantCacheEntriesWithEtagsin interfaceHttpAsyncCache
-
-