]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: fix http_proxy parsing
authorRuss Cox <rsc@golang.org>
Mon, 13 Feb 2012 04:19:50 +0000 (23:19 -0500)
committerRuss Cox <rsc@golang.org>
Mon, 13 Feb 2012 04:19:50 +0000 (23:19 -0500)
Fixes #2919.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5645089

src/pkg/net/http/transport.go

index 693215edd4fcbce040a10b517a29e1dc4b58bc20..510e55b0586f3347fd498cca0fb15895fee1171d 100644 (file)
@@ -85,16 +85,16 @@ func ProxyFromEnvironment(req *Request) (*url.URL, error) {
        if !useProxy(canonicalAddr(req.URL)) {
                return nil, nil
        }
-       proxyURL, err := url.ParseRequest(proxy)
+       proxyURL, err := url.Parse(proxy)
        if err != nil {
-               return nil, errors.New("invalid proxy address")
-       }
-       if proxyURL.Host == "" {
-               proxyURL, err = url.ParseRequest("http://" + proxy)
-               if err != nil {
-                       return nil, errors.New("invalid proxy address")
+               if u, err := url.Parse("http://" + proxy); err == nil {
+                       proxyURL = u
+                       err = nil
                }
        }
+       if err != nil {
+               return nil, fmt.Errorf("invalid proxy address %q: %v", proxy, err)
+       }
        return proxyURL, nil
 }