Class ResponseCachingPolicy
- java.lang.Object
-
- org.apache.http.impl.client.cache.ResponseCachingPolicy
-
@Contract(threading=IMMUTABLE) class ResponseCachingPolicy extends java.lang.ObjectDetermines if an HttpResponse can be cached.- Since:
- 4.1
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String[]AUTH_CACHEABLE_PARAMSprivate static java.util.Set<java.lang.Integer>cacheableStatusesprivate org.apache.commons.logging.Loglogprivate longmaxObjectSizeBytesprivate booleanneverCache1_0ResponsesWithQueryStringprivate booleansharedCacheprivate java.util.Set<java.lang.Integer>uncacheableStatuses
-
Constructor Summary
Constructors Constructor Description ResponseCachingPolicy(long maxObjectSizeBytes, boolean sharedCache, boolean neverCache1_0ResponsesWithQueryString, boolean allow303Caching)Define a cache policy that limits the size of things that should be stored in the cache to a maximum ofHttpResponsebytes in size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleanexpiresHeaderLessOrEqualToDateHeaderAndNoCacheControl(org.apache.http.HttpResponse response)private booleanfrom1_0Origin(org.apache.http.HttpResponse response)protected booleanhasCacheControlParameterFrom(org.apache.http.HttpMessage msg, java.lang.String[] params)protected booleanisExplicitlyCacheable(org.apache.http.HttpResponse response)protected booleanisExplicitlyNonCacheable(org.apache.http.HttpResponse response)booleanisResponseCacheable(java.lang.String httpMethod, org.apache.http.HttpResponse response)Determines if an HttpResponse can be cached.booleanisResponseCacheable(org.apache.http.HttpRequest request, org.apache.http.HttpResponse response)Determine if theHttpResponsegotten from the origin is a cacheable response.private booleanrequestProtocolGreaterThanAccepted(org.apache.http.HttpRequest req)private booleanunknownStatusCode(int status)
-
-
-
Field Detail
-
AUTH_CACHEABLE_PARAMS
private static final java.lang.String[] AUTH_CACHEABLE_PARAMS
-
maxObjectSizeBytes
private final long maxObjectSizeBytes
-
sharedCache
private final boolean sharedCache
-
neverCache1_0ResponsesWithQueryString
private final boolean neverCache1_0ResponsesWithQueryString
-
log
private final org.apache.commons.logging.Log log
-
cacheableStatuses
private static final java.util.Set<java.lang.Integer> cacheableStatuses
-
uncacheableStatuses
private final java.util.Set<java.lang.Integer> uncacheableStatuses
-
-
Constructor Detail
-
ResponseCachingPolicy
public ResponseCachingPolicy(long maxObjectSizeBytes, boolean sharedCache, boolean neverCache1_0ResponsesWithQueryString, boolean allow303Caching)Define a cache policy that limits the size of things that should be stored in the cache to a maximum ofHttpResponsebytes in size.- Parameters:
maxObjectSizeBytes- the size to limit items into the cachesharedCache- whether to behave as a shared cache (true) or a non-shared/private cache (false)neverCache1_0ResponsesWithQueryString- true to never cache HTTP 1.0 responses with a query string, false to cache if explicit cache headers are found.allow303Caching- if this policy is permitted to cache 303 response
-
-
Method Detail
-
isResponseCacheable
public boolean isResponseCacheable(java.lang.String httpMethod, org.apache.http.HttpResponse response)Determines if an HttpResponse can be cached.- Parameters:
httpMethod- What type of request was this, a GET, PUT, other?response- The origin response- Returns:
trueif response is cacheable
-
unknownStatusCode
private boolean unknownStatusCode(int status)
-
isExplicitlyNonCacheable
protected boolean isExplicitlyNonCacheable(org.apache.http.HttpResponse response)
-
hasCacheControlParameterFrom
protected boolean hasCacheControlParameterFrom(org.apache.http.HttpMessage msg, java.lang.String[] params)
-
isExplicitlyCacheable
protected boolean isExplicitlyCacheable(org.apache.http.HttpResponse response)
-
isResponseCacheable
public boolean isResponseCacheable(org.apache.http.HttpRequest request, org.apache.http.HttpResponse response)Determine if theHttpResponsegotten from the origin is a cacheable response.- Parameters:
request- theHttpRequestthat generated an origin hitresponse- theHttpResponsefrom the origin- Returns:
trueif response is cacheable
-
expiresHeaderLessOrEqualToDateHeaderAndNoCacheControl
private boolean expiresHeaderLessOrEqualToDateHeaderAndNoCacheControl(org.apache.http.HttpResponse response)
-
from1_0Origin
private boolean from1_0Origin(org.apache.http.HttpResponse response)
-
requestProtocolGreaterThanAccepted
private boolean requestProtocolGreaterThanAccepted(org.apache.http.HttpRequest req)
-
-