aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/httptest/server.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2017-03-27 16:32:04 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2017-03-27 17:01:57 +0000
commit89ebe5bbca0638567771cb2b0376b059122a77ba (patch)
tree487893cb37912ec4667eef51144f7ca7d13a05d2 /src/net/http/httptest/server.go
parent4234d1decd853b2373c17340eb4c0033c0fe9566 (diff)
downloadgo-89ebe5bbca0638567771cb2b0376b059122a77ba.tar.xz
net/http/httptest: don't panic on Close of user-constructed Server value
If the user created an httptest.Server directly without using a constructor it won't have the new unexported 'client' field. So don't assume it's non-nil. Fixes #19729 Change-Id: Ie92e5da66cf4e7fb8d95f3ad0f4e3987d3ae8b77 Reviewed-on: https://go-review.googlesource.com/38710 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Kevin Burke <kev@inburke.com>
Diffstat (limited to 'src/net/http/httptest/server.go')
-rw-r--r--src/net/http/httptest/server.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/net/http/httptest/server.go b/src/net/http/httptest/server.go
index b5b18c747d..549ef04623 100644
--- a/src/net/http/httptest/server.go
+++ b/src/net/http/httptest/server.go
@@ -209,8 +209,10 @@ func (s *Server) Close() {
}
// Also close the client idle connections.
- if t, ok := s.client.Transport.(closeIdleTransport); ok {
- t.CloseIdleConnections()
+ if s.client != nil {
+ if t, ok := s.client.Transport.(closeIdleTransport); ok {
+ t.CloseIdleConnections()
+ }
}
s.wg.Wait()