lib/httpserver: add -http.idleConnTimeout command-line flag for tuning the timeout for incoming idle http connections

This commit is contained in:
Aliaksandr Valialkin 2020-09-01 15:32:50 +03:00
parent a01c56104a
commit bc1ca4b20b

View file

@ -38,6 +38,7 @@ var (
"Highly loaded server may require increased value for graceful shutdown") "Highly loaded server may require increased value for graceful shutdown")
shutdownDelay = flag.Duration("http.shutdownDelay", 0, "Optional delay before http server shutdown. During this dealy the servier returns non-OK responses "+ shutdownDelay = flag.Duration("http.shutdownDelay", 0, "Optional delay before http server shutdown. During this dealy the servier returns non-OK responses "+
"from /health page, so load balancers can route new requests to other servers") "from /health page, so load balancers can route new requests to other servers")
idleConnTimeout = flag.Duration("http.idleConnTimeout", time.Minute, "Timeout for incoming idle http connections")
) )
var ( var (
@ -100,7 +101,7 @@ func serveWithListener(addr string, ln net.Listener, rh RequestHandler) {
TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler)), TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler)),
ReadHeaderTimeout: 5 * time.Second, ReadHeaderTimeout: 5 * time.Second,
IdleTimeout: time.Minute, IdleTimeout: *idleConnTimeout,
// Do not set ReadTimeout and WriteTimeout here, // Do not set ReadTimeout and WriteTimeout here,
// since these timeouts must be controlled by request handlers. // since these timeouts must be controlled by request handlers.