|
@@ -21,6 +21,7 @@ import (
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
func StartManagementAPI(
|
|
func StartManagementAPI(
|
|
|
|
|
+ bld config.Build,
|
|
|
cfg config.Config,
|
|
cfg config.Config,
|
|
|
userManager UserManager,
|
|
userManager UserManager,
|
|
|
sessionRetriever SessionRetriever,
|
|
sessionRetriever SessionRetriever,
|
|
@@ -96,6 +97,11 @@ func StartManagementAPI(
|
|
|
postInstantMessageHandler(w, r, messageRelayer, logger)
|
|
postInstantMessageHandler(w, r, messageRelayer, logger)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ // Handlers for '/version' route
|
|
|
|
|
+ mux.HandleFunc("GET /version", func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
+ getVersionHandler(w, bld)
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
addr := net.JoinHostPort(cfg.ApiHost, cfg.ApiPort)
|
|
addr := net.JoinHostPort(cfg.ApiHost, cfg.ApiPort)
|
|
|
logger.Info("starting management API server", "addr", addr)
|
|
logger.Info("starting management API server", "addr", addr)
|
|
|
if err := http.ListenAndServe(addr, mux); err != nil {
|
|
if err := http.ListenAndServe(addr, mux); err != nil {
|
|
@@ -568,3 +574,12 @@ func getUserAccountHandler(w http.ResponseWriter, r *http.Request, userManager U
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+// getVersionHandler handles the GET /version endpoint.
|
|
|
|
|
+func getVersionHandler(w http.ResponseWriter, bld config.Build) {
|
|
|
|
|
+ w.Header().Set("Content-Type", "application/json")
|
|
|
|
|
+ if err := json.NewEncoder(w).Encode(bld); err != nil {
|
|
|
|
|
+ http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+}
|