From 7c4120ff11a2ab94820a6a4f2709b3018c6dbc62 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Tue, 2 Jun 2015 10:10:20 +0000 Subject: [PATCH] Add /api handler, expose app version number. --- app/router.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/router.go b/app/router.go index b294949f4..931f7c2bc 100644 --- a/app/router.go +++ b/app/router.go @@ -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