@@ -172,10 +172,25 @@ func handlePost(tsv *TabletServer, w http.ResponseWriter, r *http.Request) {
172
172
return
173
173
}
174
174
175
- displayResponse (w , msg )
175
+ vars := getVars (tsv )
176
+ sendResponse (r , w , vars , msg )
176
177
}
177
178
178
179
func handleGet (tsv * TabletServer , w http.ResponseWriter , r * http.Request ) {
180
+ vars := getVars (tsv )
181
+ sendResponse (r , w , vars , "" )
182
+ }
183
+
184
+ func sendResponse (r * http.Request , w http.ResponseWriter , vars []envValue , msg string ) {
185
+ format := r .FormValue ("format" )
186
+ if format == "json" {
187
+ respondWithJSON (w , vars , msg )
188
+ return
189
+ }
190
+ respondWithHTML (w , vars , msg )
191
+ }
192
+
193
+ func getVars (tsv * TabletServer ) []envValue {
179
194
var vars []envValue
180
195
vars = addVar (vars , "ReadPoolSize" , tsv .PoolSize )
181
196
vars = addVar (vars , "StreamPoolSize" , tsv .StreamPoolSize )
@@ -191,27 +206,27 @@ func handleGet(tsv *TabletServer, w http.ResponseWriter, r *http.Request) {
191
206
Value : tsv .ConsolidatorMode (),
192
207
})
193
208
194
- format := r .FormValue ("format" )
195
- if format == "json" {
196
- respondWithJSON (w , vars )
197
- return
198
- }
199
-
200
- respondWithHTML (w , vars )
209
+ return vars
201
210
}
202
211
203
- func respondWithJSON (w http.ResponseWriter , vars []envValue ) {
212
+ func respondWithJSON (w http.ResponseWriter , vars []envValue , msg string ) {
204
213
mvars := make (map [string ]string )
205
214
for _ , v := range vars {
206
215
mvars [v .Name ] = v .Value
207
216
}
217
+ if msg != "" {
218
+ mvars ["ResponseMessage" ] = msg
219
+ }
208
220
w .Header ().Set ("Content-Type" , "application/json" )
209
221
_ = json .NewEncoder (w ).Encode (mvars )
210
222
}
211
223
212
- func respondWithHTML (w http.ResponseWriter , vars []envValue ) {
224
+ func respondWithHTML (w http.ResponseWriter , vars []envValue , msg string ) {
213
225
w .Write (gridTable )
214
226
w .Write ([]byte ("<h3>Internal Variables</h3>\n " ))
227
+ if msg != "" {
228
+ fmt .Fprintf (w , "<b>%s</b><br /><br />\n " , html .EscapeString (msg ))
229
+ }
215
230
w .Write (startTable )
216
231
w .Write (debugEnvHeader )
217
232
for _ , v := range vars {
@@ -221,9 +236,3 @@ func respondWithHTML(w http.ResponseWriter, vars []envValue) {
221
236
}
222
237
w .Write (endTable )
223
238
}
224
-
225
- func displayResponse (w http.ResponseWriter , msg string ) {
226
- if msg != "" {
227
- fmt .Fprintf (w , "<b>%s</b><br /><br />\n " , html .EscapeString (msg ))
228
- }
229
- }
0 commit comments