Commit caa434d2 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

net/http: update Transport doc example to not disable http2

The old Transport example ended up disabling HTTP/2.

Use a better example.

Fixes #17051
Fixes #17296

Change-Id: I6feca168744131916e8bf56c829b4d4b50e304ee
Reviewed-on: https://go-review.googlesource.com/33094Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
parent b20c0552
...@@ -44,7 +44,8 @@ For control over proxies, TLS configuration, keep-alives, ...@@ -44,7 +44,8 @@ For control over proxies, TLS configuration, keep-alives,
compression, and other settings, create a Transport: compression, and other settings, create a Transport:
tr := &http.Transport{ tr := &http.Transport{
TLSClientConfig: &tls.Config{RootCAs: pool}, MaxIdleConns: 10,
IdleConnTimeout: 30 * time.Second,
DisableCompression: true, DisableCompression: true,
} }
client := &http.Client{Transport: tr} client := &http.Client{Transport: tr}
......
...@@ -68,8 +68,10 @@ const DefaultMaxIdleConnsPerHost = 2 ...@@ -68,8 +68,10 @@ const DefaultMaxIdleConnsPerHost = 2
// For high-level functionality, such as cookies and redirects, see Client. // For high-level functionality, such as cookies and redirects, see Client.
// //
// Transport uses HTTP/1.1 for HTTP URLs and either HTTP/1.1 or HTTP/2 // Transport uses HTTP/1.1 for HTTP URLs and either HTTP/1.1 or HTTP/2
// for HTTPS URLs, depending on whether the server supports HTTP/2. // for HTTPS URLs, depending on whether the server supports HTTP/2,
// See the package docs for more about HTTP/2. // and how the Transport is configured. The DefaultTransport supports HTTP/2.
// To explicitly enable HTTP/2 on a transport, use golang.org/x/net/http2
// and call ConfigureTransport. See the package docs for more about HTTP/2.
type Transport struct { type Transport struct {
idleMu sync.Mutex idleMu sync.Mutex
wantIdle bool // user has requested to close all idle conns wantIdle bool // user has requested to close all idle conns
...@@ -113,7 +115,9 @@ type Transport struct { ...@@ -113,7 +115,9 @@ type Transport struct {
DialTLS func(network, addr string) (net.Conn, error) DialTLS func(network, addr string) (net.Conn, error)
// TLSClientConfig specifies the TLS configuration to use with // TLSClientConfig specifies the TLS configuration to use with
// tls.Client. If nil, the default configuration is used. // tls.Client.
// If nil, the default configuration is used.
// If non-nil, HTTP/2 support may not be enabled by default.
TLSClientConfig *tls.Config TLSClientConfig *tls.Config
// TLSHandshakeTimeout specifies the maximum amount of time waiting to // TLSHandshakeTimeout specifies the maximum amount of time waiting to
...@@ -172,7 +176,8 @@ type Transport struct { ...@@ -172,7 +176,8 @@ type Transport struct {
// called with the request's authority (such as "example.com" // called with the request's authority (such as "example.com"
// or "example.com:1234") and the TLS connection. The function // or "example.com:1234") and the TLS connection. The function
// must return a RoundTripper that then handles the request. // must return a RoundTripper that then handles the request.
// If TLSNextProto is nil, HTTP/2 support is enabled automatically. // If TLSNextProto is not nil, HTTP/2 support is not enabled
// automatically.
TLSNextProto map[string]func(authority string, c *tls.Conn) RoundTripper TLSNextProto map[string]func(authority string, c *tls.Conn) RoundTripper
// ProxyConnectHeader optionally specifies headers to send to // ProxyConnectHeader optionally specifies headers to send to
......
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