Add /api handler, expose app version number.

This commit is contained in:
Tom Wilkie
2015-06-03 13:21:55 +00:00
parent 57629dcac1
commit 7c4120ff11
+10
View File
@@ -13,6 +13,7 @@ import (
func Router(c Reporter) *mux.Router {
router := mux.NewRouter()
get := router.Methods("GET").Subrouter()
get.HandleFunc("/api", apiHandler)
get.HandleFunc("/api/topology", makeTopologyList(c))
get.HandleFunc("/api/topology/{topology}", captureTopology(c, handleTopology))
get.HandleFunc("/api/topology/{topology}/ws", captureTopology(c, handleWs))
@@ -35,6 +36,15 @@ func captureTopology(rep Reporter, f func(Reporter, topologyView, http.ResponseW
}
}
// APIDetails are some generic details that can be fetched from /api
type APIDetails struct {
Version string `json:"version"`
}
func apiHandler(w http.ResponseWriter, r *http.Request) {
respondWith(w, http.StatusOK, APIDetails{Version: version})
}
type topologyView struct {
human string
selector topologySelecter