@@ -26,7 +26,7 @@ func getStats(w http.ResponseWriter, r *http.Request) {
26
26
w .Write (marshal (Registry .Stats ()))
27
27
}
28
28
29
- func getService (w http.ResponseWriter , r * http.Request ) {
29
+ func getServiceStats (w http.ResponseWriter , r * http.Request ) {
30
30
vars := mux .Vars (r )
31
31
32
32
serviceStats , err := Registry .ServiceStats (vars ["service" ])
@@ -38,6 +38,18 @@ func getService(w http.ResponseWriter, r *http.Request) {
38
38
w .Write (marshal (serviceStats ))
39
39
}
40
40
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
+
41
53
// Update the global config
42
54
func postConfig (w http.ResponseWriter , r * http.Request ) {
43
55
cfg := client.Config {}
@@ -120,6 +132,20 @@ func deleteService(w http.ResponseWriter, r *http.Request) {
120
132
w .Write (marshal (Registry .Config ()))
121
133
}
122
134
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
+
123
149
func getBackend (w http.ResponseWriter , r * http.Request ) {
124
150
vars := mux .Vars (r )
125
151
serviceName := vars ["service" ]
@@ -187,7 +213,9 @@ func addHandlers() {
187
213
r .HandleFunc ("/_config" , getConfig ).Methods ("GET" )
188
214
r .HandleFunc ("/_config" , postConfig ).Methods ("PUT" , "POST" )
189
215
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" )
191
219
r .HandleFunc ("/{service}" , postService ).Methods ("PUT" , "POST" )
192
220
r .HandleFunc ("/{service}" , deleteService ).Methods ("DELETE" )
193
221
r .HandleFunc ("/{service}/{backend}" , getBackend ).Methods ("GET" )
0 commit comments