hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bart Robeyns <bart.robe...@gmail.com>
Subject Overriding Caching Policies
Date Tue, 07 Jun 2011 07:47:17 GMT
It is not possible to alter the behaviour of the CachingHttpClient because
the policies defining the behaviour are private and tied directly to
specific implementations in the CachingHttpClients constructor. Furthermore,
these policies are package private, discouraging reuse and/or extensions.

Making this possible is easy enough (provide some policy-setters or
-constructor-args in CachingHttpClient and make the policy-classes public) -
which leads me to believe that the tight relationships between client and
policies is deliberate. Is this the case, or are you willing to accept a
patch that opens up these classes for extending the caching behaviour?

The specific case that lead to this question:

A back-end application only sets its Content-Length header for responses
below 8K. This response does get stored in the cache, but when retrieving it
from the cache, CacheValidityPolicy.contentLengthHeaderMatchesActualLength
checks the Content-Length header with the stored size (to verify whether the
cached content is complete). This check fails, causing the cache entry to be
deemed unusable. If we were able to provide our own subclassed
CacheValidityPolicy, it would be easy to skip the check if the header is
missing and thus accomodate this specific back-end quirk.

Thanks for any answers,


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message