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 HttpAsyncCacheInvalidator
cacheInvalidator
private CacheKeyGenerator
cacheKeyGenerator
private CacheUpdateHandler
cacheUpdateHandler
private static org.slf4j.Logger
LOG
private HttpAsyncCacheStorage
storage
-
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.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)
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<java.lang.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<java.lang.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<java.lang.Boolean> callback)
FlushHttpCacheEntry
s invalidated by the given requestjava.lang.String
generateKey(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<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.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)
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(java.lang.String cacheKey, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
(package private) 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)
(package private) 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)
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)
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, java.time.Instant requestSent, java.time.Instant responseReceived, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)
Update a specificHttpCacheEntry
representing 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:
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<java.lang.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<java.lang.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<java.lang.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(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: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, java.time.Instant requestSent, java.time.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, java.time.Instant requestSent, java.time.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, java.time.Instant requestSent, java.time.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<java.util.Map<java.lang.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
-
-