From 53a207131d7487d8d1d8658341a2c9f5bbb4bcfe Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 9 Dec 2015 17:41:44 +0000 Subject: [PATCH] net/http: document that ListenAndServe is a bit more than Listen+Serve Document that ListenAndServe and ListenAndServeTLS also set TCP keep-alives. Fixes #12748 Change-Id: Iba2e8a58dd657eba326db49a6c872e2d972883a4 Reviewed-on: https://go-review.googlesource.com/17681 Reviewed-by: Russ Cox --- src/net/http/server.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/net/http/server.go b/src/net/http/server.go index a00085c249..30695708f2 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -1994,6 +1994,7 @@ func (sh serverHandler) ServeHTTP(rw ResponseWriter, req *Request) { // ListenAndServe listens on the TCP network address srv.Addr and then // calls Serve to handle requests on incoming connections. +// Accepted connections are configured to enable TCP keep-alives. // If srv.Addr is blank, ":http" is used. // ListenAndServe always returns a non-nil error. func (srv *Server) ListenAndServe() error { @@ -2074,8 +2075,10 @@ func (s *Server) logf(format string, args ...interface{}) { // ListenAndServe listens on the TCP network address addr // and then calls Serve with handler to handle requests -// on incoming connections. Handler is typically nil, -// in which case the DefaultServeMux is used. +// on incoming connections. +// Accepted connections are configured to enable TCP keep-alives. +// Handler is typically nil, in which case the DefaultServeMux is +// used. // // A trivial example server is: // @@ -2131,13 +2134,14 @@ func ListenAndServe(addr string, handler Handler) error { // One can use generate_cert.go in crypto/tls to generate cert.pem and key.pem. // // ListenAndServeTLS always returns a non-nil error. -func ListenAndServeTLS(addr string, certFile string, keyFile string, handler Handler) error { +func ListenAndServeTLS(addr, certFile, keyFile string, handler Handler) error { server := &Server{Addr: addr, Handler: handler} return server.ListenAndServeTLS(certFile, keyFile) } // ListenAndServeTLS listens on the TCP network address srv.Addr and // then calls Serve to handle requests on incoming TLS connections. +// Accepted connections are configured to enable TCP keep-alives. // // Filenames containing a certificate and matching private key for the // server must be provided if the Server's TLSConfig.Certificates is -- 2.48.1