mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #2045 from xiang90/read_timeout
etcdmain: add readtimeout for http server
This commit is contained in:
commit
47113d776e
@ -23,6 +23,7 @@ import (
|
||||
"net/http"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/coreos/etcd/discovery"
|
||||
"github.com/coreos/etcd/etcdserver"
|
||||
@ -174,13 +175,13 @@ func startEtcd(cfg *config) (<-chan struct{}, error) {
|
||||
// Start the peer server in a goroutine
|
||||
for _, l := range plns {
|
||||
go func(l net.Listener) {
|
||||
log.Fatal(serveHTTP(l, ph))
|
||||
log.Fatal(serveHTTP(l, ph, 5*time.Minute))
|
||||
}(l)
|
||||
}
|
||||
// Start a client server goroutine for each listen address
|
||||
for _, l := range clns {
|
||||
go func(l net.Listener) {
|
||||
log.Fatal(serveHTTP(l, ch))
|
||||
log.Fatal(serveHTTP(l, ch, 30*time.Second))
|
||||
}(l)
|
||||
}
|
||||
return s.StopNotify(), nil
|
||||
|
@ -5,17 +5,19 @@ import (
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
// serveHTTP accepts incoming HTTP connections on the listener l,
|
||||
// creating a new service goroutine for each. The service goroutines
|
||||
// read requests and then call handler to reply to them.
|
||||
func serveHTTP(l net.Listener, handler http.Handler) error {
|
||||
func serveHTTP(l net.Listener, handler http.Handler, readTimeout time.Duration) error {
|
||||
logger := log.New(ioutil.Discard, "etcdhttp", 0)
|
||||
// TODO: add debug flag; enable logging when debug flag is set
|
||||
srv := &http.Server{
|
||||
Handler: handler,
|
||||
ErrorLog: logger, // do not log user error
|
||||
Handler: handler,
|
||||
ReadTimeout: readTimeout,
|
||||
ErrorLog: logger, // do not log user error
|
||||
}
|
||||
return srv.Serve(l)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user