- reloadHandler := func(reloadFunc func()) func(w http.ResponseWriter, _ *http.Request) {
- return func(w http.ResponseWriter, _ *http.Request) {
- reloadFunc()
-
- _, _ = io.WriteString(w, `{ "msg": "config reloaded" }`)
- }
- }
-
- sh := APIHandler{hlServer: srv}
- if *statsPort != "" {
- http.HandleFunc("/", sh.RenderStats)
- http.HandleFunc("/api/v1/stats", sh.RenderStats)
- http.HandleFunc("/api/v1/reload", reloadHandler(reloadFunc))
-
- go func(srv *hotline.Server) {
- err = http.ListenAndServe(":"+*statsPort, nil)
- if err != nil {
- log.Fatal(err)
- }
- }(srv)