@ThreadSafe public class CachingExec extends java.lang.Object implements ClientExecChain
HttpCacheStorage interface and the related
package documentation there. You may also be interested in the provided
EhCache and memcached storage backends.
Further responsibilities such as communication with the opposite
endpoint is delegated to the next executor in the request execution
chain.| Modifier and Type | Field and Description |
|---|---|
HttpClientAndroidLog |
log |
| Constructor and Description |
|---|
CachingExec(ClientExecChain backend) |
CachingExec(ClientExecChain backend,
cz.msebera.android.httpclient.impl.client.cache.HttpCache cache,
CacheConfig config) |
CachingExec(ClientExecChain backend,
cz.msebera.android.httpclient.impl.client.cache.HttpCache cache,
CacheConfig config,
cz.msebera.android.httpclient.impl.client.cache.AsynchronousValidator asynchRevalidator) |
CachingExec(ClientExecChain backend,
ResourceFactory resourceFactory,
HttpCacheStorage storage,
CacheConfig config) |
| Modifier and Type | Method and Description |
|---|---|
CloseableHttpResponse |
execute(HttpRoute route,
HttpRequestWrapper request) |
CloseableHttpResponse |
execute(HttpRoute route,
HttpRequestWrapper request,
HttpClientContext context) |
CloseableHttpResponse |
execute(HttpRoute route,
HttpRequestWrapper request,
HttpClientContext context,
HttpExecutionAware execAware)
Executes th request either by transmitting it to the target server or
by passing it onto the next executor in the request execution chain.
|
long |
getCacheHits()
Reports the number of times that the cache successfully responded
to an
HttpRequest without contacting the origin server. |
long |
getCacheMisses()
Reports the number of times that the cache contacted the origin
server because it had no appropriate response cached.
|
long |
getCacheUpdates()
Reports the number of times that the cache was able to satisfy
a response by revalidating an existing but stale cache entry.
|
boolean |
supportsRangeAndContentRangeHeaders()
Reports whether this
CachingHttpClient implementation
supports byte-range requests as specified by the Range
and Content-Range headers. |
public HttpClientAndroidLog log
public CachingExec(ClientExecChain backend, cz.msebera.android.httpclient.impl.client.cache.HttpCache cache, CacheConfig config)
public CachingExec(ClientExecChain backend, cz.msebera.android.httpclient.impl.client.cache.HttpCache cache, CacheConfig config, cz.msebera.android.httpclient.impl.client.cache.AsynchronousValidator asynchRevalidator)
public CachingExec(ClientExecChain backend, ResourceFactory resourceFactory, HttpCacheStorage storage, CacheConfig config)
public CachingExec(ClientExecChain backend)
public long getCacheHits()
HttpRequest without contacting the origin server.public long getCacheMisses()
public long getCacheUpdates()
public CloseableHttpResponse execute(HttpRoute route, HttpRequestWrapper request) throws java.io.IOException, HttpException
java.io.IOExceptionHttpExceptionpublic CloseableHttpResponse execute(HttpRoute route, HttpRequestWrapper request, HttpClientContext context) throws java.io.IOException, HttpException
java.io.IOExceptionHttpExceptionpublic CloseableHttpResponse execute(HttpRoute route, HttpRequestWrapper request, HttpClientContext context, HttpExecutionAware execAware) throws java.io.IOException, HttpException
ClientExecChainexecute in interface ClientExecChainroute - connection route.request - current request.context - current HTTP context.execAware - receiver of notifications of blocking I/O operations.java.io.IOException - in case of a I/O error.
(this type of exceptions are potentially recoverable).HttpException - in case of an HTTP protocol error
(usually this type of exceptions are non-recoverable).public boolean supportsRangeAndContentRangeHeaders()
CachingHttpClient implementation
supports byte-range requests as specified by the Range
and Content-Range headers.true if byte-range requests are supported