| Modifier and Type | Field and Description |
|---|---|
private CacheEntryUpdater |
cacheEntryUpdater |
private HttpCacheInvalidator |
cacheInvalidator |
private org.apache.commons.logging.Log |
log |
private long |
maxObjectSizeBytes |
private ResourceFactory |
resourceFactory |
private CachedHttpResponseGenerator |
responseGenerator |
private static java.util.Set<java.lang.String> |
safeRequestMethods |
private HttpCacheStorage |
storage |
private CacheKeyGenerator |
uriExtractor |
| Constructor and Description |
|---|
BasicHttpCache() |
BasicHttpCache(CacheConfig config) |
BasicHttpCache(ResourceFactory resourceFactory,
HttpCacheStorage storage,
CacheConfig config) |
BasicHttpCache(ResourceFactory resourceFactory,
HttpCacheStorage storage,
CacheConfig config,
CacheKeyGenerator uriExtractor) |
BasicHttpCache(ResourceFactory resourceFactory,
HttpCacheStorage storage,
CacheConfig config,
CacheKeyGenerator uriExtractor,
HttpCacheInvalidator cacheInvalidator) |
| Modifier and Type | Method and Description |
|---|---|
private void |
addVariantWithEtag(java.lang.String variantKey,
java.lang.String variantCacheKey,
java.util.Map<java.lang.String,Variant> variants) |
CloseableHttpResponse |
cacheAndReturnResponse(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request,
CloseableHttpResponse originResponse,
java.util.Date requestSent,
java.util.Date responseReceived)
Store a
HttpResponse in the cache if possible, and return |
org.apache.http.HttpResponse |
cacheAndReturnResponse(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request,
org.apache.http.HttpResponse originResponse,
java.util.Date requestSent,
java.util.Date responseReceived)
Store a
HttpResponse in the cache if possible, and return |
(package private) HttpCacheEntry |
doGetUpdatedParentEntry(java.lang.String requestId,
HttpCacheEntry existing,
HttpCacheEntry entry,
java.lang.String variantKey,
java.lang.String variantCacheKey) |
void |
flushCacheEntriesFor(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request)
Clear all matching
HttpCacheEntrys. |
void |
flushInvalidatedCacheEntriesFor(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request)
Clear invalidated matching
HttpCacheEntrys |
void |
flushInvalidatedCacheEntriesFor(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request,
org.apache.http.HttpResponse response)
Clear any entries that may be invalidated by the given response to
a particular request.
|
(package private) CloseableHttpResponse |
generateIncompleteResponseError(org.apache.http.HttpResponse response,
Resource resource) |
HttpCacheEntry |
getCacheEntry(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request)
Retrieve matching
HttpCacheEntry from the cache if it exists |
(package private) SizeLimitedResponseReader |
getResponseReader(org.apache.http.HttpRequest request,
CloseableHttpResponse backEndResponse) |
java.util.Map<java.lang.String,Variant> |
getVariantCacheEntriesWithEtags(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request)
Retrieve all variants from the cache, if there are no variants then an empty
Map is returned |
(package private) boolean |
isIncompleteResponse(org.apache.http.HttpResponse resp,
Resource resource) |
void |
reuseVariantEntryFor(org.apache.http.HttpHost target,
org.apache.http.HttpRequest req,
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 |
storeInCache(org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
HttpCacheEntry entry) |
(package private) void |
storeNonVariantEntry(org.apache.http.HttpHost target,
org.apache.http.HttpRequest req,
HttpCacheEntry entry) |
(package private) void |
storeVariantEntry(org.apache.http.HttpHost target,
org.apache.http.HttpRequest req,
HttpCacheEntry entry) |
HttpCacheEntry |
updateCacheEntry(org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
HttpCacheEntry stale,
org.apache.http.HttpResponse originResponse,
java.util.Date requestSent,
java.util.Date responseReceived)
Update a
HttpCacheEntry using a 304 HttpResponse. |
HttpCacheEntry |
updateVariantCacheEntry(org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
HttpCacheEntry stale,
org.apache.http.HttpResponse originResponse,
java.util.Date requestSent,
java.util.Date responseReceived,
java.lang.String cacheKey)
Update a specific
HttpCacheEntry representing a cached variant
using a 304 HttpResponse. |
private static final java.util.Set<java.lang.String> safeRequestMethods
private final CacheKeyGenerator uriExtractor
private final ResourceFactory resourceFactory
private final long maxObjectSizeBytes
private final CacheEntryUpdater cacheEntryUpdater
private final CachedHttpResponseGenerator responseGenerator
private final HttpCacheInvalidator cacheInvalidator
private final HttpCacheStorage storage
private final org.apache.commons.logging.Log log
public BasicHttpCache(ResourceFactory resourceFactory, HttpCacheStorage storage, CacheConfig config, CacheKeyGenerator uriExtractor, HttpCacheInvalidator cacheInvalidator)
public BasicHttpCache(ResourceFactory resourceFactory, HttpCacheStorage storage, CacheConfig config, CacheKeyGenerator uriExtractor)
public BasicHttpCache(ResourceFactory resourceFactory, HttpCacheStorage storage, CacheConfig config)
public BasicHttpCache(CacheConfig config)
public BasicHttpCache()
public void flushCacheEntriesFor(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request)
throws java.io.IOException
HttpCacheHttpCacheEntrys.flushCacheEntriesFor in interface HttpCachejava.io.IOExceptionpublic void flushInvalidatedCacheEntriesFor(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request,
org.apache.http.HttpResponse response)
HttpCacheflushInvalidatedCacheEntriesFor in interface HttpCachevoid storeInCache(org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
HttpCacheEntry entry)
throws java.io.IOException
java.io.IOExceptionvoid storeNonVariantEntry(org.apache.http.HttpHost target,
org.apache.http.HttpRequest req,
HttpCacheEntry entry)
throws java.io.IOException
java.io.IOExceptionvoid storeVariantEntry(org.apache.http.HttpHost target,
org.apache.http.HttpRequest req,
HttpCacheEntry entry)
throws java.io.IOException
java.io.IOExceptionpublic void reuseVariantEntryFor(org.apache.http.HttpHost target,
org.apache.http.HttpRequest req,
Variant variant)
throws java.io.IOException
HttpCachereuseVariantEntryFor in interface HttpCachetarget - host of the upstream client requestreq - request sent by upstream clientvariant - variant cache entry to reusejava.io.IOException - may be thrown during cache updateboolean isIncompleteResponse(org.apache.http.HttpResponse resp,
Resource resource)
CloseableHttpResponse generateIncompleteResponseError(org.apache.http.HttpResponse response, Resource resource)
HttpCacheEntry doGetUpdatedParentEntry(java.lang.String requestId, HttpCacheEntry existing, HttpCacheEntry entry, java.lang.String variantKey, java.lang.String variantCacheKey) throws java.io.IOException
java.io.IOExceptionpublic HttpCacheEntry updateCacheEntry(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, HttpCacheEntry stale, org.apache.http.HttpResponse originResponse, java.util.Date requestSent, java.util.Date responseReceived) throws java.io.IOException
HttpCacheHttpCacheEntry using a 304 HttpResponse.updateCacheEntry in interface HttpCacheHttpCacheEntryjava.io.IOExceptionpublic HttpCacheEntry updateVariantCacheEntry(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, HttpCacheEntry stale, org.apache.http.HttpResponse originResponse, java.util.Date requestSent, java.util.Date responseReceived, java.lang.String cacheKey) throws java.io.IOException
HttpCacheHttpCacheEntry representing a cached variant
using a 304 HttpResponse.updateVariantCacheEntry in interface HttpCachetarget - host for client requestrequest - actual request from upstream clientstale - current variant cache entryoriginResponse - 304 response received from originrequestSent - when the validating request was sentresponseReceived - when the validating response was receivedcacheKey - where in the cache this entry is currently storedHttpCacheEntryjava.io.IOExceptionpublic org.apache.http.HttpResponse cacheAndReturnResponse(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request,
org.apache.http.HttpResponse originResponse,
java.util.Date requestSent,
java.util.Date responseReceived)
throws java.io.IOException
HttpCacheHttpResponse in the cache if possible, and returncacheAndReturnResponse in interface HttpCacheHttpResponsejava.io.IOExceptionpublic CloseableHttpResponse cacheAndReturnResponse(org.apache.http.HttpHost host, org.apache.http.HttpRequest request, CloseableHttpResponse originResponse, java.util.Date requestSent, java.util.Date responseReceived) throws java.io.IOException
HttpCacheHttpResponse in the cache if possible, and returncacheAndReturnResponse in interface HttpCacheHttpResponsejava.io.IOExceptionSizeLimitedResponseReader getResponseReader(org.apache.http.HttpRequest request, CloseableHttpResponse backEndResponse)
public HttpCacheEntry getCacheEntry(org.apache.http.HttpHost host, org.apache.http.HttpRequest request) throws java.io.IOException
HttpCacheHttpCacheEntry from the cache if it existsgetCacheEntry in interface HttpCacheHttpCacheEntry or nulljava.io.IOExceptionpublic void flushInvalidatedCacheEntriesFor(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request)
throws java.io.IOException
HttpCacheHttpCacheEntrysflushInvalidatedCacheEntriesFor in interface HttpCachejava.io.IOExceptionpublic java.util.Map<java.lang.String,Variant> getVariantCacheEntriesWithEtags(org.apache.http.HttpHost host, org.apache.http.HttpRequest request) throws java.io.IOException
HttpCacheMap is returnedgetVariantCacheEntriesWithEtags in interface HttpCacheMap mapping Etags to variant cache entriesjava.io.IOExceptionprivate void addVariantWithEtag(java.lang.String variantKey,
java.lang.String variantCacheKey,
java.util.Map<java.lang.String,Variant> variants)
throws java.io.IOException
java.io.IOException