Commit 4b130f92 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

net/http: update bundled http2 for IdleTimeout config sync change

Updates http2 to x/net git rev 76c1a11e for:

     http2: initialize Server.IdleTimeout from http.Server as http1 does
     https://golang.org/cl/32230

     http2: change how Server.IdleTimeout is initialized from http.Server
     https://golang.org/cl/32323

Fixes #14204

Change-Id: I099f89fcd0d8bc0e42da163ae0a3b786fd81292f
Reviewed-on: https://go-review.googlesource.com/32322
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 5552d08b
......@@ -2173,6 +2173,17 @@ func (w *http2responseWriter) Push(target string, opts *PushOptions) error {
return w.push(target, internalOpts)
}
func http2configureServer18(h1 *Server, h2 *http2Server) error {
if h2.IdleTimeout == 0 {
if h1.IdleTimeout != 0 {
h2.IdleTimeout = h1.IdleTimeout
} else {
h2.IdleTimeout = h1.ReadTimeout
}
}
return nil
}
var http2DebugGoroutines = os.Getenv("DEBUG_HTTP2_GOROUTINES") == "1"
type http2goroutineLock uint64
......@@ -2971,15 +2982,25 @@ func (s *http2Server) maxConcurrentStreams() uint32 {
return http2defaultMaxStreams
}
// List of funcs for ConfigureServer to run. Both h1 and h2 are guaranteed
// to be non-nil.
var http2configServerFuncs []func(h1 *Server, h2 *http2Server) error
// ConfigureServer adds HTTP/2 support to a net/http Server.
//
// The configuration conf may be nil.
//
// ConfigureServer must be called before s begins serving.
func http2ConfigureServer(s *Server, conf *http2Server) error {
if s == nil {
panic("nil *http.Server")
}
if conf == nil {
conf = new(http2Server)
}
if err := http2configureServer18(s, conf); err != nil {
return err
}
if s.TLSConfig == nil {
s.TLSConfig = new(tls.Config)
......
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