Package org.apache.hc.client5.http.cache
Class HttpCacheEntry
java.lang.Object
org.apache.hc.client5.http.cache.HttpCacheEntry
- All Implemented Interfaces:
Serializable,org.apache.hc.core5.http.MessageHeaders
@Contract(threading=IMMUTABLE)
public class HttpCacheEntry
extends Object
implements org.apache.hc.core5.http.MessageHeaders, Serializable
Structure used to store an
HttpResponse in a cache.
Some entries can optionally depend on system resources that may require
explicit deallocation. In such a case getResource() should return
a non null instance of Resource that must be deallocated by calling
Resource.dispose() method when no longer used.- Since:
- 4.1
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionHttpCacheEntry(Instant requestDate, Instant responseDate, int status, org.apache.hc.core5.http.Header[] responseHeaders, Resource resource) Create a newHttpCacheEntry.HttpCacheEntry(Instant requestDate, Instant responseDate, int status, org.apache.hc.core5.http.Header[] responseHeaders, Resource resource, Map<String, String> variantMap) Create a newHttpCacheEntrywith variants.HttpCacheEntry(Date requestDate, Date responseDate, int status, org.apache.hc.core5.http.Header[] responseHeaders, Resource resource) Deprecated.HttpCacheEntry(Date requestDate, Date responseDate, int status, org.apache.hc.core5.http.Header[] responseHeaders, Resource resource, Map<String, String> variantMap) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionbooleancontainsHeader(String name) intcountHeaders(String name) getDate()Gets the Date value of the "Date" header or null if the header is missing or cannot be parsed.org.apache.hc.core5.http.HeadergetFirstHeader(String name) Returns the first header from the origin response with the given name.org.apache.hc.core5.http.Headerorg.apache.hc.core5.http.Header[]Returns all the headers that were on the origin response.org.apache.hc.core5.http.Header[]getHeaders(String name) Gets all the headers with the given name that were on the origin response.org.apache.hc.core5.http.HeadergetLastHeader(String name) Deprecated.Returns the time the associated origin request was initiated by the caching module.Returns the HTTP request method that was used to create the cached response entry.Returns theResourcecontaining the origin response body.Deprecated.Returns the time the origin response was received by the caching module.intReturns the status from the originHttpResponse.Returns an index about where in the cache different variants for a given resource are stored.booleanIndicates whether the origin response indicated the associated resource had variants (i.e.Iterator<org.apache.hc.core5.http.Header> Iterator<org.apache.hc.core5.http.Header> headerIterator(String name) private InstantFind the "Date" response header and parse it into aInstanttoString()Provides a string representation of this instance suitable for human consumption.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
REQUEST_METHOD_HEADER_NAME
- See Also:
-
requestDate
-
responseDate
-
status
private final int status -
responseHeaders
private final org.apache.hc.core5.http.message.HeaderGroup responseHeaders -
resource
-
variantMap
-
date
-
-
Constructor Details
-
HttpCacheEntry
@Deprecated public HttpCacheEntry(Date requestDate, Date responseDate, int status, org.apache.hc.core5.http.Header[] responseHeaders, Resource resource, Map<String, String> variantMap) Deprecated.Create a newHttpCacheEntrywith variants.- Parameters:
requestDate- Date/time when the request was made (Used for age calculations)responseDate- Date/time that the response came back (Used for age calculations)status- HTTP status from origin responseresponseHeaders- Header[] from original HTTP Responseresource- representing origin response bodyvariantMap- describing cache entries that are variants of this parent entry; this maps a "variant key" (derived from the varying request headers) to a "cache key" (where in the cache storage the particular variant is located)
-
HttpCacheEntry
public HttpCacheEntry(Instant requestDate, Instant responseDate, int status, org.apache.hc.core5.http.Header[] responseHeaders, Resource resource, Map<String, String> variantMap) Create a newHttpCacheEntrywith variants.- Parameters:
requestDate- Date/time when the request was made (Used for age calculations)responseDate- Date/time that the response came back (Used for age calculations)status- HTTP status from origin responseresponseHeaders- Header[] from original HTTP Responseresource- representing origin response bodyvariantMap- describing cache entries that are variants of this parent entry; this maps a "variant key" (derived from the varying request headers) to a "cache key" (where in the cache storage the particular variant is located)- Since:
- 5.2
-
HttpCacheEntry
@Deprecated public HttpCacheEntry(Date requestDate, Date responseDate, int status, org.apache.hc.core5.http.Header[] responseHeaders, Resource resource) Create a newHttpCacheEntry.- Parameters:
requestDate- Date/time when the request was made (Used for age calculations)responseDate- Date/time that the response came back (Used for age calculations)status- HTTP status from origin responseresponseHeaders- Header[] from original HTTP Responseresource- representing origin response body
-
HttpCacheEntry
public HttpCacheEntry(Instant requestDate, Instant responseDate, int status, org.apache.hc.core5.http.Header[] responseHeaders, Resource resource) Create a newHttpCacheEntry.- Parameters:
requestDate- Date/time when the request was made (Used for age calculations)responseDate- Date/time that the response came back (Used for age calculations)status- HTTP status from origin responseresponseHeaders- Header[] from original HTTP Responseresource- representing origin response body
-
-
Method Details
-
parseDate
Find the "Date" response header and parse it into aInstant- Returns:
- the Date value of the header or null if the header is not present
-
getStatus
public int getStatus()Returns the status from the originHttpResponse. -
getRequestDate
Deprecated.Returns the time the associated origin request was initiated by the caching module.- Returns:
Date
-
getRequestInstant
Returns the time the associated origin request was initiated by the caching module.- Returns:
Instant- Since:
- 5.2
-
getResponseDate
Deprecated.Returns the time the origin response was received by the caching module.- Returns:
Date
-
getResponseInstant
Returns the time the origin response was received by the caching module.- Returns:
Instant- Since:
- 5.2
-
getHeaders
public org.apache.hc.core5.http.Header[] getHeaders()Returns all the headers that were on the origin response.- Specified by:
getHeadersin interfaceorg.apache.hc.core5.http.MessageHeaders
-
getFirstHeader
Returns the first header from the origin response with the given name.- Specified by:
getFirstHeaderin interfaceorg.apache.hc.core5.http.MessageHeaders
-
getLastHeader
- Specified by:
getLastHeaderin interfaceorg.apache.hc.core5.http.MessageHeaders- Since:
- 5.0
-
getHeaders
Gets all the headers with the given name that were on the origin response.- Specified by:
getHeadersin interfaceorg.apache.hc.core5.http.MessageHeaders
-
containsHeader
- Specified by:
containsHeaderin interfaceorg.apache.hc.core5.http.MessageHeaders- Since:
- 5.0
-
countHeaders
- Specified by:
countHeadersin interfaceorg.apache.hc.core5.http.MessageHeaders- Since:
- 5.0
-
getHeader
public org.apache.hc.core5.http.Header getHeader(String name) throws org.apache.hc.core5.http.ProtocolException - Specified by:
getHeaderin interfaceorg.apache.hc.core5.http.MessageHeaders- Throws:
org.apache.hc.core5.http.ProtocolException- Since:
- 5.0
-
headerIterator
- Specified by:
headerIteratorin interfaceorg.apache.hc.core5.http.MessageHeaders- Since:
- 5.0
-
headerIterator
- Specified by:
headerIteratorin interfaceorg.apache.hc.core5.http.MessageHeaders- Since:
- 5.0
-
getDate
Gets the Date value of the "Date" header or null if the header is missing or cannot be parsed.- Since:
- 4.3
-
getInstant
-
getResource
Returns theResourcecontaining the origin response body. -
hasVariants
public boolean hasVariants()Indicates whether the origin response indicated the associated resource had variants (i.e. that the Vary header was set on the origin response).- Returns:
trueif this cached response was a variant
-
getVariantMap
Returns an index about where in the cache different variants for a given resource are stored. This maps "variant keys" to "cache keys", where the variant key is derived from the varying request headers, and the cache key is the location in theHttpCacheStoragewhere that particular variant is stored. The first variant returned is used as the "parent" entry to hold this index of the other variants. -
getRequestMethod
Returns the HTTP request method that was used to create the cached response entry.- Since:
- 4.4
-
toString
Provides a string representation of this instance suitable for human consumption.
-
HttpCacheEntry(Instant, Instant, int, Header[], Resource)}