On Sat, 2022-11-19 at 23:10 +0530, sreenivas somavarapu wrote:
> Hi Oleg,
> 
> Thank you for your reply. 
> 
> My simple use case is I want to control on which channel / protocol
> (HTTP 1.x or HTTP 2) the requests should use using async httpclient
> api implementation irrespective of backend server enablement of that
> respective protocol.

This makes no sense. If the opposite endpoint does not support H2
HttpClient will not be able to execute request with that protocol.

Oleg




> Regards,
> Sreenivas
> 
> On Sat, Nov 19, 2022, 3:47 PM Oleg Kalnichevski <ol...@apache.org>
> wrote:
> > 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
> > 


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