From: Brad Fitzpatrick Date: Fri, 16 Jun 2017 20:37:21 +0000 (+0000) Subject: net/http: update bundled http2 X-Git-Tag: go1.9beta2~57 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8d75558b766db3ee320297e97f021fbb615b13aa;p=gostls13.git 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 Reviewed-by: Ian Lance Taylor TryBot-Result: Gobot Gobot --- diff --git a/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go index 671e0f719e..0533f56f0e 100644 --- a/src/net/http/h2_bundle.go +++ b/src/net/http/h2_bundle.go @@ -2996,6 +2996,8 @@ func http2reqBodyIsNoBody(body io.ReadCloser) bool { 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 @@ func http2checkConnHeaders(req *Request) error { // 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 @@ func (cc *http2ClientConn) RoundTrip(req *Request) (*Response, error) { } 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