Interface HttpCache

  • All Known Implementing Classes:
    BasicHttpCache

    interface HttpCache
    Since:
    4.1
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      CloseableHttpResponse cacheAndReturnResponse​(org.apache.http.HttpHost host, org.apache.http.HttpRequest request, CloseableHttpResponse originResponse, java.util.Date requestSent, java.util.Date responseReceived)
      Store a HttpResponse in the cache if possible, and return
      org.apache.http.HttpResponse cacheAndReturnResponse​(org.apache.http.HttpHost host, org.apache.http.HttpRequest request, org.apache.http.HttpResponse originResponse, java.util.Date requestSent, java.util.Date responseReceived)
      Store a HttpResponse in the cache if possible, and return
      void flushCacheEntriesFor​(org.apache.http.HttpHost host, org.apache.http.HttpRequest request)
      Clear all matching HttpCacheEntrys.
      void flushInvalidatedCacheEntriesFor​(org.apache.http.HttpHost host, org.apache.http.HttpRequest request)
      Clear invalidated matching HttpCacheEntrys
      void flushInvalidatedCacheEntriesFor​(org.apache.http.HttpHost host, org.apache.http.HttpRequest request, org.apache.http.HttpResponse response)
      Clear any entries that may be invalidated by the given response to a particular request.
      HttpCacheEntry getCacheEntry​(org.apache.http.HttpHost host, org.apache.http.HttpRequest request)
      Retrieve matching HttpCacheEntry from the cache if it exists
      java.util.Map<java.lang.String,​Variant> getVariantCacheEntriesWithEtags​(org.apache.http.HttpHost host, org.apache.http.HttpRequest request)
      Retrieve all variants from the cache, if there are no variants then an empty Map is returned
      void reuseVariantEntryFor​(org.apache.http.HttpHost target, org.apache.http.HttpRequest req, Variant variant)
      Specifies cache should reuse the given cached variant to satisfy requests whose varying headers match those of the given client request.
      HttpCacheEntry updateCacheEntry​(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, HttpCacheEntry stale, org.apache.http.HttpResponse originResponse, java.util.Date requestSent, java.util.Date responseReceived)
      Update a HttpCacheEntry using a 304 HttpResponse.
      HttpCacheEntry updateVariantCacheEntry​(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, HttpCacheEntry stale, org.apache.http.HttpResponse originResponse, java.util.Date requestSent, java.util.Date responseReceived, java.lang.String cacheKey)
      Update a specific HttpCacheEntry representing a cached variant using a 304 HttpResponse.
    • Method Detail

      • flushCacheEntriesFor

        void flushCacheEntriesFor​(org.apache.http.HttpHost host,
                                  org.apache.http.HttpRequest request)
                           throws java.io.IOException
        Clear all matching HttpCacheEntrys.
        Parameters:
        host -
        request -
        Throws:
        java.io.IOException
      • flushInvalidatedCacheEntriesFor

        void flushInvalidatedCacheEntriesFor​(org.apache.http.HttpHost host,
                                             org.apache.http.HttpRequest request)
                                      throws java.io.IOException
        Clear invalidated matching HttpCacheEntrys
        Parameters:
        host -
        request -
        Throws:
        java.io.IOException
      • flushInvalidatedCacheEntriesFor

        void flushInvalidatedCacheEntriesFor​(org.apache.http.HttpHost host,
                                             org.apache.http.HttpRequest request,
                                             org.apache.http.HttpResponse response)
        Clear any entries that may be invalidated by the given response to a particular request.
        Parameters:
        host -
        request -
        response -
      • getCacheEntry

        HttpCacheEntry getCacheEntry​(org.apache.http.HttpHost host,
                                     org.apache.http.HttpRequest request)
                              throws java.io.IOException
        Retrieve matching HttpCacheEntry from the cache if it exists
        Parameters:
        host -
        request -
        Returns:
        the matching HttpCacheEntry or null
        Throws:
        java.io.IOException
      • getVariantCacheEntriesWithEtags

        java.util.Map<java.lang.String,​Variant> getVariantCacheEntriesWithEtags​(org.apache.http.HttpHost host,
                                                                                      org.apache.http.HttpRequest request)
                                                                               throws java.io.IOException
        Retrieve all variants from the cache, if there are no variants then an empty Map is returned
        Parameters:
        host -
        request -
        Returns:
        a Map mapping Etags to variant cache entries
        Throws:
        java.io.IOException
      • cacheAndReturnResponse

        org.apache.http.HttpResponse cacheAndReturnResponse​(org.apache.http.HttpHost host,
                                                            org.apache.http.HttpRequest request,
                                                            org.apache.http.HttpResponse originResponse,
                                                            java.util.Date requestSent,
                                                            java.util.Date responseReceived)
                                                     throws java.io.IOException
        Store a HttpResponse in the cache if possible, and return
        Parameters:
        host -
        request -
        originResponse -
        requestSent -
        responseReceived -
        Returns:
        the HttpResponse
        Throws:
        java.io.IOException
      • cacheAndReturnResponse

        CloseableHttpResponse cacheAndReturnResponse​(org.apache.http.HttpHost host,
                                                     org.apache.http.HttpRequest request,
                                                     CloseableHttpResponse originResponse,
                                                     java.util.Date requestSent,
                                                     java.util.Date responseReceived)
                                              throws java.io.IOException
        Store a HttpResponse in the cache if possible, and return
        Parameters:
        host -
        request -
        originResponse -
        requestSent -
        responseReceived -
        Returns:
        the HttpResponse
        Throws:
        java.io.IOException
      • updateCacheEntry

        HttpCacheEntry updateCacheEntry​(org.apache.http.HttpHost target,
                                        org.apache.http.HttpRequest request,
                                        HttpCacheEntry stale,
                                        org.apache.http.HttpResponse originResponse,
                                        java.util.Date requestSent,
                                        java.util.Date responseReceived)
                                 throws java.io.IOException
        Update a HttpCacheEntry using a 304 HttpResponse.
        Parameters:
        target -
        request -
        stale -
        originResponse -
        requestSent -
        responseReceived -
        Returns:
        the updated HttpCacheEntry
        Throws:
        java.io.IOException
      • updateVariantCacheEntry

        HttpCacheEntry updateVariantCacheEntry​(org.apache.http.HttpHost target,
                                               org.apache.http.HttpRequest request,
                                               HttpCacheEntry stale,
                                               org.apache.http.HttpResponse originResponse,
                                               java.util.Date requestSent,
                                               java.util.Date responseReceived,
                                               java.lang.String cacheKey)
                                        throws java.io.IOException
        Update a specific HttpCacheEntry representing a cached variant using a 304 HttpResponse.
        Parameters:
        target - host for client request
        request - actual request from upstream client
        stale - current variant cache entry
        originResponse - 304 response received from origin
        requestSent - when the validating request was sent
        responseReceived - when the validating response was received
        cacheKey - where in the cache this entry is currently stored
        Returns:
        the updated HttpCacheEntry
        Throws:
        java.io.IOException
      • reuseVariantEntryFor

        void reuseVariantEntryFor​(org.apache.http.HttpHost target,
                                  org.apache.http.HttpRequest req,
                                  Variant variant)
                           throws java.io.IOException
        Specifies cache should reuse the given cached variant to satisfy requests whose varying headers match those of the given client request.
        Parameters:
        target - host of the upstream client request
        req - request sent by upstream client
        variant - variant cache entry to reuse
        Throws:
        java.io.IOException - may be thrown during cache update