net/http: update bundled http2
Updates http2 to x/net/http2 git rev 973f3f3 for:
http2: make Transport treat http.NoBody like it were nil
https://golang.org/cl/45993
Updates #18891
Change-Id: I846ccf286992ed2c6249014e51fdeb40b35e50ed
Reviewed-on: https://go-review.googlesource.com/46000
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go
index 671e0f7..0533f56 100644
--- a/src/net/http/h2_bundle.go
+++ b/src/net/http/h2_bundle.go
@@ -2996,6 +2996,8 @@
return body == NoBody
}
+func http2go18httpNoBody() io.ReadCloser { return NoBody } // for tests only
+
func http2configureServer19(s *Server, conf *http2Server) error {
s.RegisterOnShutdown(conf.state.startGracefulShutdown)
return nil
@@ -7196,7 +7198,7 @@
// req.ContentLength, where 0 actually means zero (not unknown) and -1
// means unknown.
func http2actualContentLength(req *Request) int64 {
- if req.Body == nil {
+ if req.Body == nil || http2reqBodyIsNoBody(req.Body) {
return 0
}
if req.ContentLength != 0 {
@@ -7227,8 +7229,8 @@
}
body := req.Body
- hasBody := body != nil
contentLen := http2actualContentLength(req)
+ hasBody := contentLen != 0
// TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere?
var requestedGzip bool