[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexis closed HTTPCLIENT-1218.
------------------------------

    Resolution: Not A Problem

No need to change HttpCacheEntry, it can be done during post-processing of the 
response:

{code:java}
         AbstractHttpClient abstractHttpClient = new DefaultHttpClient();
         abstractHttpClient.addResponseInterceptor( new 
HttpResponseInterceptor() {

            public void process(HttpResponse response, HttpContext context) 
throws HttpException, IOException {
                // Replace instances of {@link BufferedHeader} with ones of 
{@link BasicHeader}.
                for (Header header: httpResponse.getAllHeaders()) {
                    if (header instanceof BufferedHeader) {
                        httpResponse.removeHeader(header);
                        httpResponse.addHeader(new 
BasicHeader(header.getName(), header.getValue()));
                    }
                }
            }
        });
{code}

Sorry I should have talked to my duck longer.
                
> Serializibility of HttpCacheEntry and BufferedHeader
> ----------------------------------------------------
>
>                 Key: HTTPCLIENT-1218
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1218
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: HttpClient
>            Reporter: Alexis
>              Labels: httpclient-cache
>         Attachments: httpCacheEntry.patch
>
>
> Current serialization of HttpCacheEntry relies on java.io.Serializable. But 
> not everybody wants to rely on this RPC format, since there are better 
> alternatives -> Kryo for example. I tested it: once the class is registered 
> in Kryo, serialization is 10 times faster and takes up 4 times less bytes.
> Instances of BufferedHeader (which implements FormattedHeader) in the header 
> group are not serialization friendly: Factory is slow and lot's of memory is 
> wasted to generate parsers.
> A header is a plain POJO with a name and a value, nothing more. I'm not quite 
> sure of the point of the FormattedHeader interface.
> - Quick fix is replacing all BufferedHeader with BasicHeader instances before 
> serializing.
> - Long term idea suggestion: If the API wants to keep FormattedHeader would 
> it be possible to allow the API user to disable it?

--
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