Sven Zethelius created HTTPASYNC-106:
----------------------------------------
Summary: HttpRequestInterceptor and HttpResponseInterceptor don't
allow entity manipulation
Key: HTTPASYNC-106
URL: https://issues.apache.org/jira/browse/HTTPASYNC-106
Project: HttpComponents HttpAsyncClient
Issue Type: Improvement
Affects Versions: 4.1.1
Reporter: Sven Zethelius
Examples show how to do GZIP compression in sync HttpClient (
https://hc.apache.org/httpcomponents-client-4.2.x/httpclient/examples/org/apache/http/examples/client/ClientGZipContentCompression.java),
but even thought AsyncHttpClient supports registering the same
HttpRequestInterceptor and HttpResponseInterceptor they can only modify the
headers. Doing any modification of the entity, which is necessary to do
compression ends up being ignored.
In HttpRequestInterceptor, this is because A) BasicAsyncRequestProducer is
registerd early in the lifecycle with a reference to the original request
entity which it uses to write the content. B) The wrapping request entity
passed to the interceptor doesn't pass calls to setEntity back to the request
it's wrapping.
In HttpResponseInterceptor, the entity of the HttpResponse is bypassed
completely by BasicAsyncResponseConsumer.
This means clients of AsyncHttpClient have no way to intercept the message.
My request is that there needs to be a way to intercept and manipulate the
request bytes in/out so that compression can be implemented.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]