Skip to content

net/http: $no_proxy handling requires domains to be prefixed with a . #4574

Closed
@kisielk

Description

@kisielk
What steps will reproduce the problem?
If possible, include a link to a program on play.golang.org.
1. export no_proxy=example.com
2. run a go program that connects to foo.example.com via http

What is the expected output?
request bypasses the proxy

What do you see instead?
request hits the proxy. setting no_proxy=.example.com causes the proxy to be bypassed.

Which compiler are you using (5g, 6g, 8g, gccgo)?


Which operating system are you using?
Linux or MacOS

Which version are you using?  (run 'go version')
1.0.3 or 0c135754c93a

Please provide any additional information below.

This is counter to the implementation of no_proxy handling in other common places. For
example, Python:

http://hg.python.org/cpython/file/c744b6f8a09a/Lib/urllib/request.py#l2381

or curl actually handles both cases, but the dot-prefixed version appears to be for
legacy purposes:

https://github.com/bagder/curl/blob/master/lib/url.c#L3936

The relevant part in the Go standard library appears to be
http://code.google.com/p/go/source/browse/src/pkg/net/http/transport.go#453

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions