Hi Oleg and All:

It's seems clear to me, and correct me if I am wrong, that if I want my
custom async proxy to manipulate an HTTP body/entity, I have to do it in
org.apache.hc.core5.http.nio.AsyncDataConsumer.streamEnd(List<? extends
Header>), for example here:

https://github.com/apache/httpcomponents-core/blob/master/httpcore5/src/test/java/org/apache/hc/core5/http/examples/AsyncReverseProxyExample.java#L396


My problem is that my current implementation which until now did not need
to manipulate the body has custom behavior in the guts of
a 
org.apache.hc.core5.http.nio.AsyncServerExchangeHandler.handleRequest(HttpRequest,
EntityDetails, ResponseChannel, HttpContext) where I have a bunch of
proprietary logic working on requests before passing these on to an origin
server.

BUT, when this handleRequest() is called, the body has not been read yet.

So I need to move my logic to streamEnd().

BUT my custom code requires access to the HttpContext as well as the
ResponseChannel.

My question is: is it OK to augment (I'll provide the PR) streamEnd() to
take the HttpContext and ResponseChannel as parameters.

Thoughts?

Thank you,
Gary

Reply via email to