aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/server.go
diff options
context:
space:
mode:
authorRoman Kollár <roman.kollar.0@gmail.com>2019-11-21 22:25:52 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2019-11-21 23:15:28 +0000
commitbbbc6589dfbc05be2bfa59f51c20f9eaa8d0c531 (patch)
treed8a12e49ea1c7287d919f5cfd55d400340e87b10 /src/net/http/server.go
parent94e9a5e19b831504eca2b7202b78d1a48c4be547 (diff)
downloadgo-bbbc6589dfbc05be2bfa59f51c20f9eaa8d0c531.tar.xz
net/http: fix Server.ConnContext modifying context for all new connections
Fixes #35750 Change-Id: I65d38cfc5ddd66131777e104c269cc3559b2471d GitHub-Last-Rev: 953fdfd49b2be665be43f8148d2a6180dae3b91c GitHub-Pull-Request: golang/go#35751 Reviewed-on: https://go-review.googlesource.com/c/go/+/208318 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/net/http/server.go')
-rw-r--r--src/net/http/server.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go
index 4f1c73dbdf..58aff08424 100644
--- a/src/net/http/server.go
+++ b/src/net/http/server.go
@@ -2920,16 +2920,17 @@ func (srv *Server) Serve(l net.Listener) error {
}
return err
}
+ connCtx := ctx
if cc := srv.ConnContext; cc != nil {
- ctx = cc(ctx, rw)
- if ctx == nil {
+ connCtx = cc(connCtx, rw)
+ if connCtx == nil {
panic("ConnContext returned nil")
}
}
tempDelay = 0
c := srv.newConn(rw)
c.setState(c.rwc, StateNew) // before Serve can return
- go c.serve(ctx)
+ go c.serve(connCtx)
}
}