From: Raghavendra Nagaraj Date: Tue, 18 Jun 2019 08:30:24 +0000 (+0000) Subject: net/http: fix Server.IdleTimeout and Server.ReadHeaderTimeout docs X-Git-Tag: go1.13beta1~55 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1962dc88eb89cd37d3f9f85e8e4b7ad4915db089;p=gostls13.git net/http: fix Server.IdleTimeout and Server.ReadHeaderTimeout docs CL 46434 changed the doc for Server.IdleTimeout to include falling back to Server.ReadHeaderTimeout if both Server.IdleTimeout and Server.ReadTimeout are zero. However, we explicitly set the ReadDeadlines firstly based off Server.IdleTimeout or Server.ReadTimeout before attempting to read the next request, thus the current doc is incorrect. This CL reverts CL 46434 and also updates the doc for Server.ReadHeaderTimeout to documenting falling back to Server.ReadTimeout, if the former is zero, otherwise there is no timeout. Fixes #32053 Change-Id: I43dd0252d1bcee6c29a8529abd84c84a49b2fba9 GitHub-Last-Rev: e1cdb599772476e0b52d9d2374c3ea3893844eb4 GitHub-Pull-Request: golang/go#32164 Reviewed-on: https://go-review.googlesource.com/c/go/+/178337 Reviewed-by: Emmanuel Odeke --- diff --git a/src/net/http/server.go b/src/net/http/server.go index e732378635..bcc283b66c 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -2512,7 +2512,9 @@ type Server struct { // ReadHeaderTimeout is the amount of time allowed to read // request headers. The connection's read deadline is reset // after reading the headers and the Handler can decide what - // is considered too slow for the body. + // is considered too slow for the body. If ReadHeaderTimeout + // is zero, the value of ReadTimeout is used. If both are + // zero, there is no timeout. ReadHeaderTimeout time.Duration // WriteTimeout is the maximum duration before timing out @@ -2524,7 +2526,7 @@ type Server struct { // IdleTimeout is the maximum amount of time to wait for the // next request when keep-alives are enabled. If IdleTimeout // is zero, the value of ReadTimeout is used. If both are - // zero, ReadHeaderTimeout is used. + // zero, there is no timeout. IdleTimeout time.Duration // MaxHeaderBytes controls the maximum number of bytes the