diff options
Diffstat (limited to 'web.go')
-rw-r--r-- | web.go | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -21,7 +21,7 @@ const SESSION_NAME = "easybridge_session" var sessionsStore sessions.Store = nil var userKeys = map[string]*[32]byte{} -func StartWeb(errch chan error) { +func StartWeb(errch chan error) *http.Server { session_key := blake2b.Sum256([]byte(config.SessionKey)) sessionsStore = sessions.NewCookieStore(session_key[:]) @@ -36,12 +36,18 @@ func StartWeb(errch chan error) { r.Handle("/static/{file:.*}", http.StripPrefix("/static/", staticfiles)) log.Printf("Starting web UI HTTP server on %s", config.WebBindAddr) + web_server := &http.Server{ + Addr: config.WebBindAddr, + Handler: logRequest(r), + } go func() { - err := http.ListenAndServe(config.WebBindAddr, logRequest(r)) + err := web_server.ListenAndServe() if err != nil { errch <- err } }() + + return web_server } func logRequest(handler http.Handler) http.Handler { |