Skip to content

Commit deee3b7

Browse files
committed
add /{service}/_config endpoint
1 parent ead0b2b commit deee3b7

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

admin.go

+30-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func getStats(w http.ResponseWriter, r *http.Request) {
2626
w.Write(marshal(Registry.Stats()))
2727
}
2828

29-
func getService(w http.ResponseWriter, r *http.Request) {
29+
func getServiceStats(w http.ResponseWriter, r *http.Request) {
3030
vars := mux.Vars(r)
3131

3232
serviceStats, err := Registry.ServiceStats(vars["service"])
@@ -38,6 +38,18 @@ func getService(w http.ResponseWriter, r *http.Request) {
3838
w.Write(marshal(serviceStats))
3939
}
4040

41+
func getServiceConfig(w http.ResponseWriter, r *http.Request) {
42+
vars := mux.Vars(r)
43+
44+
serviceStats, err := Registry.ServiceConfig(vars["service"])
45+
if err != nil {
46+
http.Error(w, err.Error(), http.StatusNotFound)
47+
return
48+
}
49+
50+
w.Write(marshal(serviceStats))
51+
}
52+
4153
// Update the global config
4254
func postConfig(w http.ResponseWriter, r *http.Request) {
4355
cfg := client.Config{}
@@ -120,6 +132,20 @@ func deleteService(w http.ResponseWriter, r *http.Request) {
120132
w.Write(marshal(Registry.Config()))
121133
}
122134

135+
func getBackendStats(w http.ResponseWriter, r *http.Request) {
136+
vars := mux.Vars(r)
137+
serviceName := vars["service"]
138+
backendName := vars["backend"]
139+
140+
backend, err := Registry.BackendStats(serviceName, backendName)
141+
if err != nil {
142+
http.Error(w, err.Error(), http.StatusNotFound)
143+
return
144+
}
145+
146+
w.Write(marshal(backend))
147+
}
148+
123149
func getBackend(w http.ResponseWriter, r *http.Request) {
124150
vars := mux.Vars(r)
125151
serviceName := vars["service"]
@@ -187,7 +213,9 @@ func addHandlers() {
187213
r.HandleFunc("/_config", getConfig).Methods("GET")
188214
r.HandleFunc("/_config", postConfig).Methods("PUT", "POST")
189215
r.HandleFunc("/_stats", getStats).Methods("GET")
190-
r.HandleFunc("/{service}", getService).Methods("GET")
216+
r.HandleFunc("/{service}", getServiceStats).Methods("GET")
217+
r.HandleFunc("/{service}/_config", getServiceConfig).Methods("GET")
218+
r.HandleFunc("/{service}/_stats", getServiceStats).Methods("GET")
191219
r.HandleFunc("/{service}", postService).Methods("PUT", "POST")
192220
r.HandleFunc("/{service}", deleteService).Methods("DELETE")
193221
r.HandleFunc("/{service}/{backend}", getBackend).Methods("GET")

0 commit comments

Comments
 (0)