net/http: teach NewRequest that NoBody has ContentLength zero

NoBody is new in Go 1.8.

Found while investigating #18117

Change-Id: I6bda030f358e2270f090d108cb3a89c8a2665fcb
Reviewed-on: https://go-review.googlesource.com/33714
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Brad Fitzpatrick 2016-11-30 18:45:56 +00:00
parent 2cfb6d5442
commit 1102c70bc4
2 changed files with 13 additions and 1 deletions

View file

@ -785,7 +785,9 @@ func NewRequest(method, urlStr string, body io.Reader) (*Request, error) {
return ioutil.NopCloser(&r), nil
}
default:
req.ContentLength = -1 // unknown
if body != NoBody {
req.ContentLength = -1 // unknown
}
}
// For client requests, Request.ContentLength of 0
// means either actually 0, or unknown. The only way