aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/request.go
diff options
context:
space:
mode:
authorEmmanuel Odeke <emm.odeke@gmail.com>2016-04-16 02:04:00 -0700
committerBrad Fitzpatrick <bradfitz@golang.org>2016-04-16 15:31:33 +0000
commit26ecb42fb4c5ee1d8b64f12e5bb8df6549523d23 (patch)
treec68d90902ad39ad019b60c98b6ac9841097b9543 /src/net/http/request.go
parent585590549a3c6e26e7963081e11478a1913744a6 (diff)
downloadgo-26ecb42fb4c5ee1d8b64f12e5bb8df6549523d23.tar.xz
net/http: normalize empty port in URL.Host's ":port"
- Ensures that the empty port and preceeding ":" in a URL.Host are stripped. Normalize the empty port in a URL.Host's ":port" as mandated by RFC 3986 Section 6.2.3 which states that: `Likewise an explicit ":port", for which the port is empty or the default for the scheme, is equivalent to one where the port and its ":" delimiter are elided and thus should be removed by scheme-based normalization.` - Moves function `hasPort` from client.go (where it was defined but not used directly), to http.go the common area. Fixes #14836 Change-Id: I2067410377be9c71106b1717abddc2f8b1da1c03 Reviewed-on: https://go-review.googlesource.com/22140 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/net/http/request.go')
-rw-r--r--src/net/http/request.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/net/http/request.go b/src/net/http/request.go
index bac2de1a2e..a49ab36964 100644
--- a/src/net/http/request.go
+++ b/src/net/http/request.go
@@ -660,6 +660,8 @@ func NewRequest(method, urlStr string, body io.Reader) (*Request, error) {
if !ok && body != nil {
rc = ioutil.NopCloser(body)
}
+ // The host's colon:port should be normalized. See Issue 14836.
+ u.Host = removeEmptyPort(u.Host)
req := &Request{
Method: method,
URL: u,