Class CachingHttpClient
- java.lang.Object
-
- org.apache.http.impl.client.cache.CachingHttpClient
-
- All Implemented Interfaces:
HttpClient
@Deprecated @Contract(threading=SAFE_CONDITIONAL) public class CachingHttpClient extends java.lang.Object implements HttpClient
Deprecated.(4.3) useCachingHttpClientBuilderorCachingHttpClients.The
CachingHttpClientis meant to be a drop-in replacement for aDefaultHttpClientthat transparently adds client-side caching. The current implementation is conditionally compliant with HTTP/1.1 (meaning all the MUST and MUST NOTs are obeyed), although quite a lot, though not all, of the SHOULDs and SHOULD NOTs are obeyed too. Generally speaking, you construct aCachingHttpClientby providing a "backend"HttpClientused for making actual network requests and provide anHttpCacheStorageinstance to use for holding onto cached responses. Additional configuration options can be provided by passing in aCacheConfig. Note that all of the usual client related configuration you want to do vis-a-vis timeouts and connection pools should be done on this backend client before constructing aCachingHttpClientfrom it.Generally speaking, the
CachingHttpClientis implemented as a Decorator of the backend client; for any incoming request it attempts to satisfy it from the cache, but if it can't, or if it needs to revalidate a stale cache entry, it will use the backend client to make an actual request. However, a proper HTTP/1.1 cache won't change the semantics of a request and response; in particular, if you issue an unconditional request you will get a full response (although it may be served to you from the cache, or the cache may make a conditional request on your behalf to the origin). This notion of "semantic transparency" means you should be able to drop aCachingHttpClientinto an existing application without breaking anything.Folks that would like to experiment with alternative storage backends should look at the
HttpCacheStorageinterface and the related package documentation there. You may also be interested in the providedEhCacheandmemcachedstorage backends.- Since:
- 4.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classCachingHttpClient.AsynchronousValidationRequestDeprecated.(package private) static classCachingHttpClient.AsynchronousValidatorDeprecated.
-
Field Summary
Fields Modifier and Type Field Description private CachingHttpClient.AsynchronousValidatorasynchRevalidatorDeprecated.private HttpClientbackendDeprecated.static java.lang.StringCACHE_RESPONSE_STATUSDeprecated.This is the name under which theCacheResponseStatusof a request (for example, whether it resulted in a cache hit) will be recorded if anHttpContextis provided during execution.private CacheableRequestPolicycacheableRequestPolicyDeprecated.private java.util.concurrent.atomic.AtomicLongcacheHitsDeprecated.private java.util.concurrent.atomic.AtomicLongcacheMissesDeprecated.private java.util.concurrent.atomic.AtomicLongcacheUpdatesDeprecated.private ConditionalRequestBuilderconditionalRequestBuilderDeprecated.private org.apache.commons.logging.LoglogDeprecated.private longmaxObjectSizeBytesDeprecated.private RequestProtocolCompliancerequestComplianceDeprecated.private HttpCacheresponseCacheDeprecated.private ResponseCachingPolicyresponseCachingPolicyDeprecated.private ResponseProtocolComplianceresponseComplianceDeprecated.private CachedHttpResponseGeneratorresponseGeneratorDeprecated.private booleansharedCacheDeprecated.private CachedResponseSuitabilityCheckersuitabilityCheckerDeprecated.private static booleanSUPPORTS_RANGE_AND_CONTENT_RANGE_HEADERSDeprecated.private CacheValidityPolicyvalidityPolicyDeprecated.private java.util.Map<org.apache.http.ProtocolVersion,java.lang.String>viaHeadersDeprecated.
-
Constructor Summary
Constructors Constructor Description CachingHttpClient()Deprecated.Constructs aCachingHttpClientwith default caching settings that stores cache entries in memory and uses a vanillaDefaultHttpClientfor backend requests.CachingHttpClient(HttpClient client)Deprecated.Constructs aCachingHttpClientwith default caching settings that stores cache entries in memory and uses the givenHttpClientfor backend requests.CachingHttpClient(HttpClient client, HttpCacheStorage storage, CacheConfig config)Deprecated.Constructs aCachingHttpClientwith the given caching options that stores cache entries in the provided storage backend and uses the givenHttpClientfor backend requests.CachingHttpClient(HttpClient client, ResourceFactory resourceFactory, HttpCacheStorage storage, CacheConfig config)Deprecated.Constructs aCachingHttpClientwith the given caching options that stores cache entries in the provided storage backend and uses the givenHttpClientfor backend requests.CachingHttpClient(HttpClient client, CacheConfig config)Deprecated.Constructs aCachingHttpClientwith the given caching options that stores cache entries in memory and uses the givenHttpClientfor backend requests.CachingHttpClient(HttpClient backend, CacheValidityPolicy validityPolicy, ResponseCachingPolicy responseCachingPolicy, HttpCache responseCache, CachedHttpResponseGenerator responseGenerator, CacheableRequestPolicy cacheableRequestPolicy, CachedResponseSuitabilityChecker suitabilityChecker, ConditionalRequestBuilder conditionalRequestBuilder, ResponseProtocolCompliance responseCompliance, RequestProtocolCompliance requestCompliance)Deprecated.CachingHttpClient(HttpClient client, HttpCache cache, CacheConfig config)Deprecated.CachingHttpClient(CacheConfig config)Deprecated.Constructs aCachingHttpClientwith the given caching options that stores cache entries in memory and uses a vanillaDefaultHttpClientfor backend requests.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private booleanalreadyHaveNewerCacheEntry(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.HttpResponse backendResponse)Deprecated.(package private) org.apache.http.HttpResponsecallBackend(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context)Deprecated.(package private) booleanclientRequestsOurOptions(org.apache.http.HttpRequest request)Deprecated.org.apache.http.HttpResponseexecute(HttpUriRequest request)Deprecated.Executes HTTP request using the default context.<T> Texecute(HttpUriRequest request, ResponseHandler<? extends T> responseHandler)Deprecated.Executes HTTP request using the default context and processes the response using the given response handler.<T> Texecute(HttpUriRequest request, ResponseHandler<? extends T> responseHandler, org.apache.http.protocol.HttpContext context)Deprecated.Executes HTTP request using the given context and processes the response using the given response handler.org.apache.http.HttpResponseexecute(HttpUriRequest request, org.apache.http.protocol.HttpContext context)Deprecated.Executes HTTP request using the given context.org.apache.http.HttpResponseexecute(org.apache.http.HttpHost target, org.apache.http.HttpRequest request)Deprecated.Executes HTTP request using the default context.<T> Texecute(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, ResponseHandler<? extends T> responseHandler)Deprecated.Executes HTTP request to the target using the default context and processes the response using the given response handler.<T> Texecute(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, ResponseHandler<? extends T> responseHandler, org.apache.http.protocol.HttpContext context)Deprecated.Executes HTTP request to the target using the given context and processes the response using the given response handler.org.apache.http.HttpResponseexecute(org.apache.http.HttpHost target, org.apache.http.HttpRequest originalRequest, org.apache.http.protocol.HttpContext context)Deprecated.Executes HTTP request using the given context.private booleanexplicitFreshnessRequest(HttpRequestWrapper request, HttpCacheEntry entry, java.util.Date now)Deprecated.private voidflushEntriesInvalidatedByRequest(org.apache.http.HttpHost target, HttpRequestWrapper request)Deprecated.private org.apache.http.HttpResponsegenerateCachedResponse(HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry, java.util.Date now)Deprecated.private org.apache.http.HttpResponsegenerateGatewayTimeout(org.apache.http.protocol.HttpContext context)Deprecated.private java.lang.StringgenerateViaHeader(org.apache.http.HttpMessage msg)Deprecated.longgetCacheHits()Deprecated.Reports the number of times that the cache successfully responded to anHttpRequestwithout contacting the origin server.longgetCacheMisses()Deprecated.Reports the number of times that the cache contacted the origin server because it had no appropriate response cached.longgetCacheUpdates()Deprecated.Reports the number of times that the cache was able to satisfy a response by revalidating an existing but stale cache entry.ClientConnectionManagergetConnectionManager()Deprecated.Obtains the connection manager used by this client.(package private) java.util.DategetCurrentDate()Deprecated.private java.util.Map<java.lang.String,Variant>getExistingCacheVariants(org.apache.http.HttpHost target, HttpRequestWrapper request)Deprecated.private org.apache.http.HttpResponsegetFatallyNoncompliantResponse(HttpRequestWrapper request, org.apache.http.protocol.HttpContext context)Deprecated.org.apache.http.params.HttpParamsgetParams()Deprecated.Obtains the parameters for this client.private HttpCacheEntrygetUpdatedVariantEntry(org.apache.http.HttpHost target, HttpRequestWrapper conditionalRequest, java.util.Date requestDate, java.util.Date responseDate, org.apache.http.HttpResponse backendResponse, Variant matchingVariant, HttpCacheEntry matchedEntry)Deprecated.private <T> ThandleAndConsume(ResponseHandler<? extends T> responseHandler, org.apache.http.HttpResponse response)Deprecated.(package private) org.apache.http.HttpResponsehandleBackendResponse(org.apache.http.HttpHost target, HttpRequestWrapper request, java.util.Date requestDate, java.util.Date responseDate, org.apache.http.HttpResponse backendResponse)Deprecated.private org.apache.http.HttpResponsehandleCacheHit(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry)Deprecated.private org.apache.http.HttpResponsehandleCacheMiss(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context)Deprecated.private org.apache.http.HttpResponsehandleRevalidationFailure(HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry, java.util.Date now)Deprecated.booleanisSharedCache()Deprecated.Reports whether thisCachingHttpClientis configured as a shared (public) or non-shared (private) cache.private CachingHttpClient.AsynchronousValidatormakeAsynchronousValidator(CacheConfig config)Deprecated.private booleanmayCallBackend(HttpRequestWrapper request)Deprecated.(package private) org.apache.http.HttpResponsenegotiateResponseFromVariants(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, java.util.Map<java.lang.String,Variant> variants)Deprecated.private voidrecordCacheHit(org.apache.http.HttpHost target, HttpRequestWrapper request)Deprecated.private voidrecordCacheMiss(org.apache.http.HttpHost target, HttpRequestWrapper request)Deprecated.private voidrecordCacheUpdate(org.apache.http.protocol.HttpContext context)Deprecated.private org.apache.http.HttpResponseretryRequestUnconditionally(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry matchedEntry)Deprecated.(package private) org.apache.http.HttpResponserevalidateCacheEntry(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry cacheEntry)Deprecated.private org.apache.http.HttpResponserevalidateCacheEntry(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry, java.util.Date now)Deprecated.private booleanrevalidationResponseIsTooOld(org.apache.http.HttpResponse backendResponse, HttpCacheEntry cacheEntry)Deprecated.private HttpCacheEntrysatisfyFromCache(org.apache.http.HttpHost target, HttpRequestWrapper request)Deprecated.private voidsetResponseStatus(org.apache.http.protocol.HttpContext context, CacheResponseStatus value)Deprecated.private booleanshouldSendNotModifiedResponse(HttpRequestWrapper request, HttpCacheEntry responseEntry)Deprecated.private booleanstaleIfErrorAppliesTo(int statusCode)Deprecated.private booleanstaleResponseNotAllowed(HttpRequestWrapper request, HttpCacheEntry entry, java.util.Date now)Deprecated.private voidstoreRequestIfModifiedSinceFor304Response(org.apache.http.HttpRequest request, org.apache.http.HttpResponse backendResponse)Deprecated.For 304 Not modified responses, adds a "Last-Modified" header with the value of the "If-Modified-Since" header passed in the request.booleansupportsRangeAndContentRangeHeaders()Deprecated.Reports whether thisCachingHttpClientimplementation supports byte-range requests as specified by theRangeandContent-Rangeheaders.private voidtryToUpdateVariantMap(org.apache.http.HttpHost target, HttpRequestWrapper request, Variant matchingVariant)Deprecated.private org.apache.http.HttpResponseunvalidatedCacheHit(HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry)Deprecated.
-
-
-
Field Detail
-
CACHE_RESPONSE_STATUS
public static final java.lang.String CACHE_RESPONSE_STATUS
Deprecated.This is the name under which theCacheResponseStatusof a request (for example, whether it resulted in a cache hit) will be recorded if anHttpContextis provided during execution.- See Also:
- Constant Field Values
-
SUPPORTS_RANGE_AND_CONTENT_RANGE_HEADERS
private static final boolean SUPPORTS_RANGE_AND_CONTENT_RANGE_HEADERS
Deprecated.- See Also:
- Constant Field Values
-
cacheHits
private final java.util.concurrent.atomic.AtomicLong cacheHits
Deprecated.
-
cacheMisses
private final java.util.concurrent.atomic.AtomicLong cacheMisses
Deprecated.
-
cacheUpdates
private final java.util.concurrent.atomic.AtomicLong cacheUpdates
Deprecated.
-
viaHeaders
private final java.util.Map<org.apache.http.ProtocolVersion,java.lang.String> viaHeaders
Deprecated.
-
backend
private final HttpClient backend
Deprecated.
-
responseCache
private final HttpCache responseCache
Deprecated.
-
validityPolicy
private final CacheValidityPolicy validityPolicy
Deprecated.
-
responseCachingPolicy
private final ResponseCachingPolicy responseCachingPolicy
Deprecated.
-
responseGenerator
private final CachedHttpResponseGenerator responseGenerator
Deprecated.
-
cacheableRequestPolicy
private final CacheableRequestPolicy cacheableRequestPolicy
Deprecated.
-
suitabilityChecker
private final CachedResponseSuitabilityChecker suitabilityChecker
Deprecated.
-
conditionalRequestBuilder
private final ConditionalRequestBuilder conditionalRequestBuilder
Deprecated.
-
maxObjectSizeBytes
private final long maxObjectSizeBytes
Deprecated.
-
sharedCache
private final boolean sharedCache
Deprecated.
-
responseCompliance
private final ResponseProtocolCompliance responseCompliance
Deprecated.
-
requestCompliance
private final RequestProtocolCompliance requestCompliance
Deprecated.
-
asynchRevalidator
private final CachingHttpClient.AsynchronousValidator asynchRevalidator
Deprecated.
-
log
private final org.apache.commons.logging.Log log
Deprecated.
-
-
Constructor Detail
-
CachingHttpClient
CachingHttpClient(HttpClient client, HttpCache cache, CacheConfig config)
Deprecated.
-
CachingHttpClient
public CachingHttpClient()
Deprecated.Constructs aCachingHttpClientwith default caching settings that stores cache entries in memory and uses a vanillaDefaultHttpClientfor backend requests.
-
CachingHttpClient
public CachingHttpClient(CacheConfig config)
Deprecated.Constructs aCachingHttpClientwith the given caching options that stores cache entries in memory and uses a vanillaDefaultHttpClientfor backend requests.- Parameters:
config- cache module options
-
CachingHttpClient
public CachingHttpClient(HttpClient client)
Deprecated.Constructs aCachingHttpClientwith default caching settings that stores cache entries in memory and uses the givenHttpClientfor backend requests.- Parameters:
client- used to make origin requests
-
CachingHttpClient
public CachingHttpClient(HttpClient client, CacheConfig config)
Deprecated.Constructs aCachingHttpClientwith the given caching options that stores cache entries in memory and uses the givenHttpClientfor backend requests.- Parameters:
config- cache module optionsclient- used to make origin requests
-
CachingHttpClient
public CachingHttpClient(HttpClient client, ResourceFactory resourceFactory, HttpCacheStorage storage, CacheConfig config)
Deprecated.Constructs aCachingHttpClientwith the given caching options that stores cache entries in the provided storage backend and uses the givenHttpClientfor backend requests. However, cached response bodies are managed using the givenResourceFactory.- Parameters:
client- used to make origin requestsresourceFactory- how to manage cached response bodiesstorage- where to store cache entriesconfig- cache module options
-
CachingHttpClient
public CachingHttpClient(HttpClient client, HttpCacheStorage storage, CacheConfig config)
Deprecated.Constructs aCachingHttpClientwith the given caching options that stores cache entries in the provided storage backend and uses the givenHttpClientfor backend requests.- Parameters:
client- used to make origin requestsstorage- where to store cache entriesconfig- cache module options
-
CachingHttpClient
CachingHttpClient(HttpClient backend, CacheValidityPolicy validityPolicy, ResponseCachingPolicy responseCachingPolicy, HttpCache responseCache, CachedHttpResponseGenerator responseGenerator, CacheableRequestPolicy cacheableRequestPolicy, CachedResponseSuitabilityChecker suitabilityChecker, ConditionalRequestBuilder conditionalRequestBuilder, ResponseProtocolCompliance responseCompliance, RequestProtocolCompliance requestCompliance)
Deprecated.
-
-
Method Detail
-
makeAsynchronousValidator
private CachingHttpClient.AsynchronousValidator makeAsynchronousValidator(CacheConfig config)
Deprecated.
-
getCacheHits
public long getCacheHits()
Deprecated.Reports the number of times that the cache successfully responded to anHttpRequestwithout contacting the origin server.- Returns:
- the number of cache hits
-
getCacheMisses
public long getCacheMisses()
Deprecated.Reports the number of times that the cache contacted the origin server because it had no appropriate response cached.- Returns:
- the number of cache misses
-
getCacheUpdates
public long getCacheUpdates()
Deprecated.Reports the number of times that the cache was able to satisfy a response by revalidating an existing but stale cache entry.- Returns:
- the number of cache revalidations
-
execute
public org.apache.http.HttpResponse execute(org.apache.http.HttpHost target, org.apache.http.HttpRequest request) throws java.io.IOExceptionDeprecated.Description copied from interface:HttpClientExecutes HTTP request using the default context.- Specified by:
executein interfaceHttpClient- Parameters:
target- the target host for the request. Implementations may acceptnullif they can still determine a route, for example to a default target or by inspecting the request.request- the request to execute- Returns:
- the response to the request. This is always a final response, never an intermediate response with an 1xx status code. Whether redirects or authentication challenges will be returned or handled automatically depends on the implementation and configuration of this client.
- Throws:
java.io.IOException- in case of a problem or the connection was abortedClientProtocolException- in case of an http protocol error
-
execute
public <T> T execute(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, ResponseHandler<? extends T> responseHandler) throws java.io.IOExceptionDeprecated.Description copied from interface:HttpClientExecutes HTTP request to the target using the default context and processes the response using the given response handler.Implementing classes are required to ensure that the content entity associated with the response is fully consumed and the underlying connection is released back to the connection manager automatically in all cases relieving individual
ResponseHandlers from having to manage resource deallocation internally.- Specified by:
executein interfaceHttpClient- Parameters:
target- the target host for the request. Implementations may acceptnullif they can still determine a route, for example to a default target or by inspecting the request.request- the request to executeresponseHandler- the response handler- Returns:
- the response object as generated by the response handler.
- Throws:
java.io.IOException- in case of a problem or the connection was abortedClientProtocolException- in case of an http protocol error
-
execute
public <T> T execute(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, ResponseHandler<? extends T> responseHandler, org.apache.http.protocol.HttpContext context) throws java.io.IOExceptionDeprecated.Description copied from interface:HttpClientExecutes HTTP request to the target using the given context and processes the response using the given response handler.Implementing classes are required to ensure that the content entity associated with the response is fully consumed and the underlying connection is released back to the connection manager automatically in all cases relieving individual
ResponseHandlers from having to manage resource deallocation internally.- Specified by:
executein interfaceHttpClient- Parameters:
target- the target host for the request. Implementations may acceptnullif they can still determine a route, for example to a default target or by inspecting the request.request- the request to executeresponseHandler- the response handlercontext- the context to use for the execution, ornullto use the default context- Returns:
- the response object as generated by the response handler.
- Throws:
java.io.IOException- in case of a problem or the connection was abortedClientProtocolException- in case of an http protocol error
-
execute
public org.apache.http.HttpResponse execute(HttpUriRequest request) throws java.io.IOException
Deprecated.Description copied from interface:HttpClientExecutes HTTP request using the default context.- Specified by:
executein interfaceHttpClient- Parameters:
request- the request to execute- Returns:
- the response to the request. This is always a final response, never an intermediate response with an 1xx status code. Whether redirects or authentication challenges will be returned or handled automatically depends on the implementation and configuration of this client.
- Throws:
java.io.IOException- in case of a problem or the connection was abortedClientProtocolException- in case of an http protocol error
-
execute
public org.apache.http.HttpResponse execute(HttpUriRequest request, org.apache.http.protocol.HttpContext context) throws java.io.IOException
Deprecated.Description copied from interface:HttpClientExecutes HTTP request using the given context.- Specified by:
executein interfaceHttpClient- Parameters:
request- the request to executecontext- the context to use for the execution, ornullto use the default context- Returns:
- the response to the request. This is always a final response, never an intermediate response with an 1xx status code. Whether redirects or authentication challenges will be returned or handled automatically depends on the implementation and configuration of this client.
- Throws:
java.io.IOException- in case of a problem or the connection was abortedClientProtocolException- in case of an http protocol error
-
execute
public <T> T execute(HttpUriRequest request, ResponseHandler<? extends T> responseHandler) throws java.io.IOException
Deprecated.Description copied from interface:HttpClientExecutes HTTP request using the default context and processes the response using the given response handler.Implementing classes are required to ensure that the content entity associated with the response is fully consumed and the underlying connection is released back to the connection manager automatically in all cases relieving individual
ResponseHandlers from having to manage resource deallocation internally.- Specified by:
executein interfaceHttpClient- Parameters:
request- the request to executeresponseHandler- the response handler- Returns:
- the response object as generated by the response handler.
- Throws:
java.io.IOException- in case of a problem or the connection was abortedClientProtocolException- in case of an http protocol error
-
execute
public <T> T execute(HttpUriRequest request, ResponseHandler<? extends T> responseHandler, org.apache.http.protocol.HttpContext context) throws java.io.IOException
Deprecated.Description copied from interface:HttpClientExecutes HTTP request using the given context and processes the response using the given response handler.Implementing classes are required to ensure that the content entity associated with the response is fully consumed and the underlying connection is released back to the connection manager automatically in all cases relieving individual
ResponseHandlers from having to manage resource deallocation internally.- Specified by:
executein interfaceHttpClient- Parameters:
request- the request to executeresponseHandler- the response handlercontext- the context to use for the execution, ornullto use the default context- Returns:
- the response object as generated by the response handler.
- Throws:
java.io.IOException- in case of a problem or the connection was abortedClientProtocolException- in case of an http protocol error
-
handleAndConsume
private <T> T handleAndConsume(ResponseHandler<? extends T> responseHandler, org.apache.http.HttpResponse response) throws java.lang.Error, java.io.IOException
Deprecated.- Throws:
java.lang.Errorjava.io.IOException
-
getConnectionManager
public ClientConnectionManager getConnectionManager()
Deprecated.Description copied from interface:HttpClientObtains the connection manager used by this client.- Specified by:
getConnectionManagerin interfaceHttpClient- Returns:
- the connection manager
-
getParams
public org.apache.http.params.HttpParams getParams()
Deprecated.Description copied from interface:HttpClientObtains the parameters for this client. These parameters will become defaults for all requests being executed with this client, and for the parameters of dependent objects in this client.- Specified by:
getParamsin interfaceHttpClient- Returns:
- the default parameters
-
execute
public org.apache.http.HttpResponse execute(org.apache.http.HttpHost target, org.apache.http.HttpRequest originalRequest, org.apache.http.protocol.HttpContext context) throws java.io.IOExceptionDeprecated.Description copied from interface:HttpClientExecutes HTTP request using the given context.- Specified by:
executein interfaceHttpClient- Parameters:
target- the target host for the request. Implementations may acceptnullif they can still determine a route, for example to a default target or by inspecting the request.originalRequest- the request to executecontext- the context to use for the execution, ornullto use the default context- Returns:
- the response to the request. This is always a final response, never an intermediate response with an 1xx status code. Whether redirects or authentication challenges will be returned or handled automatically depends on the implementation and configuration of this client.
- Throws:
java.io.IOException- in case of a problem or the connection was abortedClientProtocolException- in case of an http protocol error
-
handleCacheHit
private org.apache.http.HttpResponse handleCacheHit(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry) throws ClientProtocolException, java.io.IOExceptionDeprecated.- Throws:
ClientProtocolExceptionjava.io.IOException
-
revalidateCacheEntry
private org.apache.http.HttpResponse revalidateCacheEntry(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry, java.util.Date now) throws ClientProtocolExceptionDeprecated.- Throws:
ClientProtocolException
-
handleCacheMiss
private org.apache.http.HttpResponse handleCacheMiss(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context) throws java.io.IOExceptionDeprecated.- Throws:
java.io.IOException
-
satisfyFromCache
private HttpCacheEntry satisfyFromCache(org.apache.http.HttpHost target, HttpRequestWrapper request)
Deprecated.
-
getFatallyNoncompliantResponse
private org.apache.http.HttpResponse getFatallyNoncompliantResponse(HttpRequestWrapper request, org.apache.http.protocol.HttpContext context)
Deprecated.
-
getExistingCacheVariants
private java.util.Map<java.lang.String,Variant> getExistingCacheVariants(org.apache.http.HttpHost target, HttpRequestWrapper request)
Deprecated.
-
recordCacheMiss
private void recordCacheMiss(org.apache.http.HttpHost target, HttpRequestWrapper request)Deprecated.
-
recordCacheHit
private void recordCacheHit(org.apache.http.HttpHost target, HttpRequestWrapper request)Deprecated.
-
recordCacheUpdate
private void recordCacheUpdate(org.apache.http.protocol.HttpContext context)
Deprecated.
-
flushEntriesInvalidatedByRequest
private void flushEntriesInvalidatedByRequest(org.apache.http.HttpHost target, HttpRequestWrapper request)Deprecated.
-
generateCachedResponse
private org.apache.http.HttpResponse generateCachedResponse(HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry, java.util.Date now)
Deprecated.
-
handleRevalidationFailure
private org.apache.http.HttpResponse handleRevalidationFailure(HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry, java.util.Date now)
Deprecated.
-
generateGatewayTimeout
private org.apache.http.HttpResponse generateGatewayTimeout(org.apache.http.protocol.HttpContext context)
Deprecated.
-
unvalidatedCacheHit
private org.apache.http.HttpResponse unvalidatedCacheHit(HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry entry)
Deprecated.
-
staleResponseNotAllowed
private boolean staleResponseNotAllowed(HttpRequestWrapper request, HttpCacheEntry entry, java.util.Date now)
Deprecated.
-
mayCallBackend
private boolean mayCallBackend(HttpRequestWrapper request)
Deprecated.
-
explicitFreshnessRequest
private boolean explicitFreshnessRequest(HttpRequestWrapper request, HttpCacheEntry entry, java.util.Date now)
Deprecated.
-
generateViaHeader
private java.lang.String generateViaHeader(org.apache.http.HttpMessage msg)
Deprecated.
-
setResponseStatus
private void setResponseStatus(org.apache.http.protocol.HttpContext context, CacheResponseStatus value)Deprecated.
-
supportsRangeAndContentRangeHeaders
public boolean supportsRangeAndContentRangeHeaders()
Deprecated.Reports whether thisCachingHttpClientimplementation supports byte-range requests as specified by theRangeandContent-Rangeheaders.- Returns:
trueif byte-range requests are supported
-
isSharedCache
public boolean isSharedCache()
Deprecated.Reports whether thisCachingHttpClientis configured as a shared (public) or non-shared (private) cache. SeeCacheConfig.setSharedCache(boolean).- Returns:
trueif we are behaving as a shared (public) cache
-
getCurrentDate
java.util.Date getCurrentDate()
Deprecated.
-
clientRequestsOurOptions
boolean clientRequestsOurOptions(org.apache.http.HttpRequest request)
Deprecated.
-
callBackend
org.apache.http.HttpResponse callBackend(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context) throws java.io.IOExceptionDeprecated.- Throws:
java.io.IOException
-
revalidationResponseIsTooOld
private boolean revalidationResponseIsTooOld(org.apache.http.HttpResponse backendResponse, HttpCacheEntry cacheEntry)Deprecated.
-
negotiateResponseFromVariants
org.apache.http.HttpResponse negotiateResponseFromVariants(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, java.util.Map<java.lang.String,Variant> variants) throws java.io.IOExceptionDeprecated.- Throws:
java.io.IOException
-
retryRequestUnconditionally
private org.apache.http.HttpResponse retryRequestUnconditionally(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry matchedEntry) throws java.io.IOExceptionDeprecated.- Throws:
java.io.IOException
-
getUpdatedVariantEntry
private HttpCacheEntry getUpdatedVariantEntry(org.apache.http.HttpHost target, HttpRequestWrapper conditionalRequest, java.util.Date requestDate, java.util.Date responseDate, org.apache.http.HttpResponse backendResponse, Variant matchingVariant, HttpCacheEntry matchedEntry)
Deprecated.
-
tryToUpdateVariantMap
private void tryToUpdateVariantMap(org.apache.http.HttpHost target, HttpRequestWrapper request, Variant matchingVariant)Deprecated.
-
shouldSendNotModifiedResponse
private boolean shouldSendNotModifiedResponse(HttpRequestWrapper request, HttpCacheEntry responseEntry)
Deprecated.
-
revalidateCacheEntry
org.apache.http.HttpResponse revalidateCacheEntry(org.apache.http.HttpHost target, HttpRequestWrapper request, org.apache.http.protocol.HttpContext context, HttpCacheEntry cacheEntry) throws java.io.IOException, org.apache.http.ProtocolExceptionDeprecated.- Throws:
java.io.IOExceptionorg.apache.http.ProtocolException
-
staleIfErrorAppliesTo
private boolean staleIfErrorAppliesTo(int statusCode)
Deprecated.
-
handleBackendResponse
org.apache.http.HttpResponse handleBackendResponse(org.apache.http.HttpHost target, HttpRequestWrapper request, java.util.Date requestDate, java.util.Date responseDate, org.apache.http.HttpResponse backendResponse) throws java.io.IOExceptionDeprecated.- Throws:
java.io.IOException
-
storeRequestIfModifiedSinceFor304Response
private void storeRequestIfModifiedSinceFor304Response(org.apache.http.HttpRequest request, org.apache.http.HttpResponse backendResponse)Deprecated.For 304 Not modified responses, adds a "Last-Modified" header with the value of the "If-Modified-Since" header passed in the request. This header is required to be able to reuse match the cache entry for subsequent requests but as defined in http specifications it is not included in 304 responses by backend servers. This header will not be included in the resulting response.
-
alreadyHaveNewerCacheEntry
private boolean alreadyHaveNewerCacheEntry(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.HttpResponse backendResponse)Deprecated.
-
-