aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/transport.go
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo@golang.org>2021-04-21 17:08:59 +0200
committerFilippo Valsorda <filippo@golang.org>2021-04-21 17:08:59 +0200
commitbe25192f119eb66e29a59d8c66622080852cbb58 (patch)
treefbfd537a2058c30cb5f0fb5e109c61468546e8d2 /src/net/http/transport.go
parent229a39e347178614d2b5c103cbdc96b7f30a015a (diff)
parent8c163e85267d146274f68854fe02b4a495586584 (diff)
downloadgo-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.go8
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
}