diff options
author | Filippo Valsorda <filippo@golang.org> | 2021-04-21 17:08:59 +0200 |
---|---|---|
committer | Filippo Valsorda <filippo@golang.org> | 2021-04-21 17:08:59 +0200 |
commit | be25192f119eb66e29a59d8c66622080852cbb58 (patch) | |
tree | fbfd537a2058c30cb5f0fb5e109c61468546e8d2 /src/net/http/transport.go | |
parent | 229a39e347178614d2b5c103cbdc96b7f30a015a (diff) | |
parent | 8c163e85267d146274f68854fe02b4a495586584 (diff) | |
download | go-be25192f119eb66e29a59d8c66622080852cbb58.tar.gz go-be25192f119eb66e29a59d8c66622080852cbb58.zip |
[dev.boringcrypto.go1.15] all: merge go1.15.11 into dev.boringcrypto.go1.15
Change-Id: I964039a36b7c2c6ef217717755ad78595a3b71fb
Diffstat (limited to 'src/net/http/transport.go')
-rw-r--r-- | src/net/http/transport.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/net/http/transport.go b/src/net/http/transport.go index 6e430b9885..88d15a5919 100644 --- a/src/net/http/transport.go +++ b/src/net/http/transport.go @@ -1531,6 +1531,10 @@ func (pconn *persistConn) addTLS(name string, trace *httptrace.ClientTrace) erro return nil } +type erringRoundTripper interface { + RoundTripErr() error +} + func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (pconn *persistConn, err error) { pconn = &persistConn{ t: t, @@ -1697,9 +1701,9 @@ func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (pconn *pers if s := pconn.tlsState; s != nil && s.NegotiatedProtocolIsMutual && s.NegotiatedProtocol != "" { if next, ok := t.TLSNextProto[s.NegotiatedProtocol]; ok { alt := next(cm.targetAddr, pconn.conn.(*tls.Conn)) - if e, ok := alt.(http2erringRoundTripper); ok { + if e, ok := alt.(erringRoundTripper); ok { // pconn.conn was closed by next (http2configureTransport.upgradeFn). - return nil, e.err + return nil, e.RoundTripErr() } return &persistConn{t: t, cacheKey: pconn.cacheKey, alt: alt}, nil } |