[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13221621#comment-13221621
 ] 

Jon Moore commented on HTTPCLIENT-1164:
---------------------------------------

Ok, I think the right solution here is the following:

1. Turn the ContentEncodingHttpClient into a decorator, taking a backend 
HttpClient as a constructor dependency. Backwards compatibility can be achieved 
by supplying a DefaultHttpClient if one is not provided.
2. This now permits users to use both bits of functionality by wiring up as 
ContentEncodingHttpClient -> CachingHttpClient -> DefaultHttpClient.

Thoughts?

                
> Compressed entities are not being cached properly
> -------------------------------------------------
>
>                 Key: HTTPCLIENT-1164
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1164
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: Cache
>    Affects Versions: Snapshot
>            Reporter: Manish Tripathi
>            Assignee: Jon Moore
>
> org.apache.http.impl.client.cache.CacheValidityPolicy.contentLengthHeaderMatchesActualLength()
>  returns false for entities decompressed by ContentEncodingHttpClient, 
> because the length of decompressed entity stored in cache will be different 
> from the length specified in the response header.
> Consequently, gzipped/deflated entities will never be satisfied from the 
> cache.
> Proposed fix: introduce new field in HttpCacheEntry() - actualContentLength, 
> and populate it with the actual content length rigth before the cache entry 
> is stored in the cache. Change the 
> org.apache.http.impl.client.cache.CacheValidityPolicy.contentLengthHeaderMatchesActualLength()
>  method to compare
> entry.getResource().length() with entry.getActualContentLength()

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to