How are you setting the proxy? - sean
On Sat, Dec 3, 2022, 16:46 Mauro Monteiro <maumontesi...@gmail.com> wrote: > Hello all, > > I have been facing an issue when I try to create a HTTP client which needs > to connect through a HTTPS proxy using the HTTP CONNEC method. I know that > it can be achieved setting my own http.Transport object. However the issue > seems to be in the current implementation of /net/http/transport.go code. > > In my environment, I am developing a HTTP client which ALWAYS use a HTTPS > proxy using HTTP CONNECT method. This client is allowed to reach HTTP or > HTTPS targets. Therefore, I noticed that when I try to reach a HTTPS > target, the the transport layer works as expected and it uses the HTTP > CONNECT method. However, when I try to reach a HTTP target, the transport > does not use the CONNECT method. > > Looking at the transport.go code, I realized that the check to use the > CONNECT method is based on the protocol of the target instead of being on > the protocol of the proxy URL. Below is a link showing that: > > 1. HTTP check > > > https://cs.opensource.google/go/go/+/refs/tags/go1.9.5:src/net/http/transport.go;l=1092 > > 2. HTTPS check > > > https://cs.opensource.google/go/go/+/refs/tags/go1.9.5:src/net/http/transport.go;l=1099 > > As can be seen on the links above, the condition is based on cm > <https://cs.opensource.google/go/go/+/refs/tags/go1.9.5:src/net/http/transport.go;drc=7ab361531514764fdccb23283a2e7f1916b74b87;l=1570> > .targetScheme > <https://cs.opensource.google/go/go/+/refs/tags/go1.9.5:src/net/http/transport.go;drc=7ab361531514764fdccb23283a2e7f1916b74b87;l=1816> > instead > of cm > <https://cs.opensource.google/go/go/+/refs/tags/go1.9.5:src/net/http/transport.go;drc=7ab361531514764fdccb23283a2e7f1916b74b87;l=1570> > .proxyURL > <https://cs.opensource.google/go/go/+/refs/tags/go1.9.5:src/net/http/transport.go;drc=7ab361531514764fdccb23283a2e7f1916b74b87;l=1815> > .Scheme > <https://cs.opensource.google/go/go/+/refs/tags/go1.9.5:src/net/url/url.go;drc=7ab361531514764fdccb23283a2e7f1916b74b87;l=363>. > Is it a bug? > > *Go version: go version go1.19.3 linux/amd64* > > Mauro > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/d06cd78b-c012-425f-8b5e-52d4bd7a3cbcn%40googlegroups.com > <https://groups.google.com/d/msgid/golang-nuts/d06cd78b-c012-425f-8b5e-52d4bd7a3cbcn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAGabyPrBxj2m9kgNZrL5k3maGBu2Ljb%2B%3DONe2m-kr7Z8K3ArHA%40mail.gmail.com.