Package org.apache.hc.client5.http.cache
Class HttpCacheEntryFactory
- java.lang.Object
-
- org.apache.hc.client5.http.cache.HttpCacheEntryFactory
-
@Contract(threading=IMMUTABLE) public class HttpCacheEntryFactory extends java.lang.ObjectHttpCacheEntryfactory.- Since:
- 5.4
-
-
Field Summary
Fields Modifier and Type Field Description static HttpCacheEntryFactoryINSTANCEDefault instance ofHttpCacheEntryFactory.
-
Constructor Summary
Constructors Constructor Description HttpCacheEntryFactory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpCacheEntrycopy(HttpCacheEntry entry)Creates a copy of the givenHttpCacheEntry.HttpCacheEntrycreate(java.time.Instant requestInstant, java.time.Instant responseInstant, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response, Resource resource)Create a newHttpCacheEntrywith the givenResource.HttpCacheEntrycreateRoot(HttpCacheEntry latestVariant, java.util.Collection<java.lang.String> variants)Creates a new rootHttpCacheEntry(parent of multiple variants).HttpCacheEntrycreateUpdated(java.time.Instant requestInstant, java.time.Instant responseInstant, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response, HttpCacheEntry entry)Creates updated entry with the new information from the response.(package private) static voidensureDate(org.apache.hc.core5.http.message.HeaderGroup headers, java.time.Instant instant)(package private) static org.apache.hc.core5.http.message.HeaderGroupfilterHopByHopHeaders(org.apache.hc.core5.http.HttpMessage message)This method should be provided by the coreprivate static org.apache.hc.core5.http.message.HeaderGroupheaders(java.util.Iterator<org.apache.hc.core5.http.Header> it)(package private) org.apache.hc.core5.http.message.HeaderGroupmergeHeaders(HttpCacheEntry entry, org.apache.hc.core5.http.HttpResponse response)
-
-
-
Field Detail
-
INSTANCE
public static final HttpCacheEntryFactory INSTANCE
Default instance ofHttpCacheEntryFactory.
-
-
Method Detail
-
headers
private static org.apache.hc.core5.http.message.HeaderGroup headers(java.util.Iterator<org.apache.hc.core5.http.Header> it)
-
mergeHeaders
org.apache.hc.core5.http.message.HeaderGroup mergeHeaders(HttpCacheEntry entry, org.apache.hc.core5.http.HttpResponse response)
-
filterHopByHopHeaders
static org.apache.hc.core5.http.message.HeaderGroup filterHopByHopHeaders(org.apache.hc.core5.http.HttpMessage message)
This method should be provided by the core
-
ensureDate
static void ensureDate(org.apache.hc.core5.http.message.HeaderGroup headers, java.time.Instant instant)
-
createRoot
public HttpCacheEntry createRoot(HttpCacheEntry latestVariant, java.util.Collection<java.lang.String> variants)
Creates a new rootHttpCacheEntry(parent of multiple variants).- Parameters:
latestVariant- The most recently created variant entryvariants- 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)
-
create
public HttpCacheEntry create(java.time.Instant requestInstant, java.time.Instant responseInstant, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response, Resource resource)
Create a newHttpCacheEntrywith the givenResource.- Parameters:
requestInstant- Date/time when the request was made (Used for age calculations)responseInstant- Date/time that the response came back (Used for age calculations)host- Target hostrequest- Original client request (a deep copy of this object is made)response- Origin response (a deep copy of this object is made)resource- Resource representing origin response body
-
createUpdated
public HttpCacheEntry createUpdated(java.time.Instant requestInstant, java.time.Instant responseInstant, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response, HttpCacheEntry entry)
Creates updated entry with the new information from the response. Should only be used for 304 responses.- Parameters:
requestInstant- Date/time when the request was made (Used for age calculations)responseInstant- Date/time that the response came back (Used for age calculations)host- Target hostrequest- Original client request (a deep copy of this object is made)response- Origin response (a deep copy of this object is made)entry- Existing cache entry.
-
copy
public HttpCacheEntry copy(HttpCacheEntry entry)
Creates a copy of the givenHttpCacheEntry. Please note the underlyingResourceis copied by reference.
-
-