diff --git a/etcd.go b/etcd.go index e47a37179..43e6654cb 100644 --- a/etcd.go +++ b/etcd.go @@ -238,7 +238,6 @@ func main() { if argInfo.WebURL != "" { // start web argInfo.WebURL = checkURL(argInfo.WebURL, "http") - etcdStore.SetMessager(storeMsg) go webHelper() go web.Start(raftServer, argInfo.WebURL) } diff --git a/util.go b/util.go index d82dea498..716a0854c 100644 --- a/util.go +++ b/util.go @@ -18,6 +18,7 @@ var storeMsg chan string // Help to send msg from store to webHub func webHelper() { storeMsg = make(chan string) + etcdStore.SetMessager(storeMsg) for { // transfer the new msg to webHub web.Hub().Send(<-storeMsg) diff --git a/web/web.go b/web/web.go index 38a272552..0cd2463c0 100644 --- a/web/web.go +++ b/web/web.go @@ -9,8 +9,8 @@ import ( "net/url" ) -var s *raft.Server var mainTempl *template.Template +var mainPage *MainPage type MainPage struct { Leader string @@ -18,9 +18,7 @@ type MainPage struct { } func mainHandler(c http.ResponseWriter, req *http.Request) { - - p := &MainPage{Leader: s.Leader(), - Address: s.Name()} + p := mainPage mainTempl.Execute(c, p) } @@ -35,7 +33,10 @@ func Start(raftServer *raft.Server, webURL string) { Addr: u.Host, } - s = raftServer + mainPage = &MainPage{ + Leader: raftServer.Leader(), + Address: u.Host, + } mainTempl = template.Must(template.New("index.html").Parse(index_html)) @@ -43,7 +44,7 @@ func Start(raftServer *raft.Server, webURL string) { webMux.HandleFunc("/", mainHandler) webMux.Handle("/ws", websocket.Handler(wsHandler)) - fmt.Printf("etcd web server listening on %s\n", u) + fmt.Printf("etcd web server [%s] listening on %s\n", raftServer.Name(), u) server.ListenAndServe() }