Commit 1102c70b authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

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: 's avatarIan Lance Taylor <iant@golang.org>
parent 2cfb6d54
......@@ -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
......
......@@ -825,6 +825,16 @@ func TestNewRequestGetBody(t *testing.T) {
}
}
func TestNewRequestNoBody(t *testing.T) {
req, err := NewRequest("GET", "http://foo.com/", NoBody)
if err != nil {
t.Fatal(err)
}
if req.ContentLength != 0 {
t.Errorf("ContentLength = %d; want 0", req.ContentLength)
}
}
func testMissingFile(t *testing.T, req *Request) {
f, fh, err := req.FormFile("missing")
if f != nil {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment