On Fri, 2013-05-03 at 12:45 -0400, R Smith wrote: > Thanks Oleg. Great help. Ive been using the logic from > createTunnelToTarget() initially but wasnt sure if I needed a "CONNECT" > method. Now I see thats what the tunnelToTarget is doing, making a > connect. Thanks for pointing me back. > > A question about auth support for proxies, would it make more sense to fork > 4.3.x instead of 4.2.x if I wanted to attempt auth support for proxy chains? >
Yes, absolutely. The most fundamental change that would have to make to achieve that is to support multiple proxy AuthStates, one per proxy hop. Oleg > Thanks again for all the help. > -Ryan > > On Fri, May 3, 2013 at 12:16 PM, Oleg Kalnichevski <ol...@apache.org> wrote: > > > > > On Thu, 2013-05-02 at 15:58 -0400, R Smith wrote: > > > Thanks Oleg. Thanks for the pointer on CONNECT. Makes sense. Ive forked > > > the httpclient 4.2.x branch locally so I have my own copy to work with. I > > > dont mind submitting patches if I have something usable and generic > > enough > > > when Im done. > > > > > > So am I correct in thinking I should still use a "CONNECT" method for > > > chaining but I should make HttpConnect() a private inner class of my > > > custom RequestDirector class so end users wont call it? Does HttpClient > > > use the "CONNECT" method anywhere internally that I am missing so I can > > see > > > it being used as an example? > > > > > > Just trying to figure out if Im barking up the right tree with the > > CONNECT > > > method for proxy chaining. I can proxy chain using command line telnet, > > so > > > I am just trying to recreate the same calls in httpclient at this point. > > > > > > Thanks again for all the help, > > > -Ryan > > > > > > > > > > > > Ryan > > > > I think you are not the right track. Have a look at the > > #createTunnelToTarget. It basically contains all the necessary machinery > > to establish a simple (one proxy hop) route. You will need to do > > something very similar once per proxy hop. Things will get _very_ > > difficult though if you decide to support different authentication > > contexts per individual proxy hops. This will likely to require a major > > refactoring of authentication state management in HttpClient. > > > > Oleg > > > > > > > > > > On Thu, May 2, 2013 at 3:06 PM, Oleg Kalnichevski <ol...@apache.org> > > wrote: > > > > > > > On Wed, 2013-05-01 at 09:58 -0400, R Smith wrote: > > > > > Hello, > > > > > > > > > > I have a question on proxy chaining. > > > > > > > > > > I know that httpclient supports a single hop proxy, (Source -> P1 -> > > > > > Target) out of the box by using TUNNEL_TARGET. However, when I > > provide > > > > an > > > > > extra proxy in the chain using a custom > > > > HttpRoutePlanner#determineRoute(), > > > > > (Source -> P0 -> P1 -> Target) I use TUNNEL_PROXY and need to > > implement > > > > a > > > > > custom DefaultRequestDirector#createTunnelToProxy(). Im just not > > sure > > > > what > > > > > all should be done in this method. My route object looks correct, I > > can > > > > > see both proxies and target but Im just not sure if I need to make a > > > > > connection to the 1st proxy using a custom HttpConnect method > > object. I > > > > > noticed there is no Http "CONNECT" method, there is HttpGet, > > HttpPost and > > > > > HttpDelete. Should I create my own HttpConnect object for proxy > > chaining > > > > > or can I accomplish the "Connect" command on the 1st proxy in the > > chain > > > > > some other way? > > > > > > > > > > Any example code or advice would be appreicated, thank you. > > > > > -Ryan > > > > > > > > Ryan, > > > > > > > > HttpClient routing API is fully proxy chaining aware. However, request > > > > execution code presently only supports connection tunneling through a > > > > single proxy only. Protocol logic for proxy chaining still needs to be > > > > implemented. > > > > > > > > There is no class representing CONNECT method in HttpClient because it > > > > is a special purpose method and as such it should never be executed by > > > > the end users of HttpClient. > > > > > > > > Hope this makes some sense. > > > > > > > > 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 > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org