http2: use empty Transport rather than DefaultTransport in http2wrap When initializing an http2.Transport with no associated http.Transport (that is, when the user doesn't call ConfigureTransport or ConfigureTransports to connect the net/http and x/net/http2 Transports together), we create an http.Transport. Create a blank Transport with default configuration parameters rather than cloning http.DefaultTransport. - There's no guarantee that DefaultTransport is a *http.Transport, since the user could have replaced it. - The historical behavior of http2.Transport is to use its own default configuration, not inherit the configuration from DefaultTransport. For #78508 Change-Id: Iac7b5e722405824e0a35543c9cec6ec56a6a6964 Reviewed-on: https://go-review.googlesource.com/c/net/+/773180 Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-by: Nicholas Husin <nsh@golang.org> LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/http2/transport_wrap.go b/http2/transport_wrap.go index e56c0c2..c31d61f 100644 --- a/http2/transport_wrap.go +++ b/http2/transport_wrap.go
@@ -142,7 +142,7 @@ if t.t1 != nil { return } - t1 := http.DefaultTransport.(*http.Transport).Clone() + t1 := &http.Transport{} t.configure(t1) }) }