braintree / manners

A polite Go HTTP server that shuts down gracefully.
MIT License
997 stars 103 forks source link

Wrap TCPListener with keep-alive + timeout, like it's done in net/http #44

Open aviddiviner opened 7 years ago

aviddiviner commented 7 years ago

What do you think of this?

I took it from here in net/http (tcpKeepAliveListener). They wrap their net.Listener in order to conn.SetKeepAlive(true) on each accepted connection when using http.ListenAndServe.

As you can see from their docs (emphasis mine):

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.