On Fri, 2022-11-18 at 13:45 +0530, sreenivas somavarapu wrote:
> Hi Oleg,
> 
> Thank you for your reply and conformation.
> 
> I was looking at async APIs on how to achieve both HTTP 1.x and HTTP
> 2
> support using same HttpAsyncClients builder but initial glance at
> APIs
> looks like it is not possible. Is my understanding correct?


No, it is not.


>  Below are
> different types of configurations I have used. Please let me know if
> you
> need my complete sample code? For these tests I was using IIS server
> with
> HTTP2 enabled and as well as https://hc.apache.org website as well.
> 
> I am trying with *setVersionPolicy* method on *HttpAsyncClients* API
> and if
> use *NEGOTIATE* version policy then it is working fine. If I use any
> of
> *FORCE_HTTP_** version policy then I am getting *400 bad request*.
> 
> If I keep it as *NEGOTIATE* and then try to force HTTP2 request using
> *AsyncRequestBuilder* APIs setVersion method bu using
> *HttpVersion.HTTP_2*
> or  *HttpVersion.HTTP_2_0* argument request is failing with
> *Unsupported
> version* error.
> 
> My usecase is I have a small web app which will be used by users to
> get
> data from different servers. I am using httpclient here to get data
> from
> pre-configured servers which I even don't know before hand. Basically
> kind
> of reverse proxy. So if users request the data using HTTP 1.x I have
> to get
> data from backend server using HTTP 1.x only and vice-versa as well.
> 
> Thank you once again for the help you are providing.
> 

I am not sure I understand what your are trying to do here. If want
HttpClient to negotiate the protocol you need to use the NEGOTIATE
protocol policy with HTTPS. One only needs to use FORCE_HTTP_2 when
connecting to an HTTP/2 endpoint over HTTP (so called h2c).

Oleg


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org

Reply via email to