Class CachingExecBase

    • Method Detail

      • getCacheHits

        public long getCacheHits()
        Reports the number of times that the cache successfully responded to an HttpRequest without contacting the origin server.
        Returns:
        the number of cache hits
      • getCacheMisses

        public long getCacheMisses()
        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()
        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
      • getFatallyNonCompliantResponse

        SimpleHttpResponse getFatallyNonCompliantResponse​(org.apache.hc.core5.http.HttpRequest request,
                                                          org.apache.hc.core5.http.protocol.HttpContext context)
        Since:
        5.2
      • recordCacheMiss

        void recordCacheMiss​(org.apache.hc.core5.http.HttpHost target,
                             org.apache.hc.core5.http.HttpRequest request)
      • recordCacheHit

        void recordCacheHit​(org.apache.hc.core5.http.HttpHost target,
                            org.apache.hc.core5.http.HttpRequest request)
      • recordCacheFailure

        void recordCacheFailure​(org.apache.hc.core5.http.HttpHost target,
                                org.apache.hc.core5.http.HttpRequest request)
      • recordCacheUpdate

        void recordCacheUpdate​(org.apache.hc.core5.http.protocol.HttpContext context)
      • handleRevalidationFailure

        SimpleHttpResponse handleRevalidationFailure​(org.apache.hc.core5.http.HttpRequest request,
                                                     org.apache.hc.core5.http.protocol.HttpContext context,
                                                     HttpCacheEntry entry,
                                                     java.time.Instant now)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • generateGatewayTimeout

        SimpleHttpResponse generateGatewayTimeout​(org.apache.hc.core5.http.protocol.HttpContext context)
      • unvalidatedCacheHit

        SimpleHttpResponse unvalidatedCacheHit​(org.apache.hc.core5.http.HttpRequest request,
                                               org.apache.hc.core5.http.protocol.HttpContext context,
                                               HttpCacheEntry entry)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • staleResponseNotAllowed

        boolean staleResponseNotAllowed​(org.apache.hc.core5.http.HttpRequest request,
                                        HttpCacheEntry entry,
                                        java.time.Instant now)
      • mayCallBackend

        boolean mayCallBackend​(org.apache.hc.core5.http.HttpRequest request)
      • explicitFreshnessRequest

        boolean explicitFreshnessRequest​(org.apache.hc.core5.http.HttpRequest request,
                                         HttpCacheEntry entry,
                                         java.time.Instant now)
      • generateViaHeader

        java.lang.String generateViaHeader​(org.apache.hc.core5.http.HttpMessage msg)
      • setResponseStatus

        void setResponseStatus​(org.apache.hc.core5.http.protocol.HttpContext context,
                               CacheResponseStatus value)
      • supportsRangeAndContentRangeHeaders

        boolean supportsRangeAndContentRangeHeaders()
        Reports whether this CachingHttpClient implementation supports byte-range requests as specified by the Range and Content-Range headers.
        Returns:
        true if byte-range requests are supported
      • getCurrentDate

        java.time.Instant getCurrentDate()
      • clientRequestsOurOptions

        boolean clientRequestsOurOptions​(org.apache.hc.core5.http.HttpRequest request)
      • revalidationResponseIsTooOld

        boolean revalidationResponseIsTooOld​(org.apache.hc.core5.http.HttpResponse backendResponse,
                                             HttpCacheEntry cacheEntry)
      • shouldSendNotModifiedResponse

        boolean shouldSendNotModifiedResponse​(org.apache.hc.core5.http.HttpRequest request,
                                              HttpCacheEntry responseEntry)
      • staleIfErrorAppliesTo

        boolean staleIfErrorAppliesTo​(int statusCode)
      • storeRequestIfModifiedSinceFor304Response

        void storeRequestIfModifiedSinceFor304Response​(org.apache.hc.core5.http.HttpRequest request,
                                                       org.apache.hc.core5.http.HttpResponse backendResponse)
        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.