diff --git a/embed/etcd.go b/embed/etcd.go index 5fdbcad2c..b80179841 100644 --- a/embed/etcd.go +++ b/embed/etcd.go @@ -286,7 +286,9 @@ func startClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err error) { plog.Info("stopping listening for client requests on ", u.Host) } }() - sctx.userHandlers = cfg.UserHandlers + for k := range cfg.UserHandlers { + sctx.userHandlers[k] = cfg.UserHandlers[k] + } if cfg.EnablePprof { sctx.registerPprof() } diff --git a/embed/serve.go b/embed/serve.go index 0e113ac31..84b97615c 100644 --- a/embed/serve.go +++ b/embed/serve.go @@ -51,7 +51,7 @@ type serveCtx struct { func newServeCtx() *serveCtx { ctx, cancel := context.WithCancel(context.Background()) - return &serveCtx{ctx: ctx, cancel: cancel} + return &serveCtx{ctx: ctx, cancel: cancel, userHandlers: make(map[string]http.Handler)} } // serve accepts incoming connections on the listener l,