@@ -15,6 +15,7 @@ import (
15
15
"strconv"
16
16
"strings"
17
17
18
+ "github.com/couchbase/sync_gateway/base"
18
19
"github.com/gorilla/mux"
19
20
)
20
21
@@ -40,7 +41,7 @@ func createCommonRouter(sc *ServerContext, privs handlerPrivs, serverType server
40
41
root = NewRouter (sc , serverType )
41
42
42
43
// Global operations:
43
- root .Handle ("/" , makeHandler (sc , privs , nil , nil , (* handler ).handleRoot )).Methods ("GET" , "HEAD" )
44
+ root .Handle ("/" , makeHandlerWithOptions (sc , privs , nil , nil , (* handler ).handleRoot , handlerOptions { sgcollect : true } )).Methods ("GET" , "HEAD" )
44
45
45
46
// Operations on databases:
46
47
root .Handle ("/{db:" + dbRegex + "}/" , makeOfflineHandler (sc , privs , []Permission {PermDevOps , PermGetDb }, nil , (* handler ).handleGetDB )).Methods ("GET" , "HEAD" )
@@ -216,7 +217,7 @@ func CreateAdminRouter(sc *ServerContext) *mux.Router {
216
217
dbr .Handle ("/_replicationStatus/{replicationID}" ,
217
218
makeHandler (sc , adminPrivs , []Permission {PermWriteReplications }, nil , (* handler ).putReplicationStatus )).Methods ("PUT" )
218
219
dbr .Handle ("/_config" ,
219
- makeOfflineHandler (sc , adminPrivs , []Permission {PermUpdateDb }, nil , (* handler ).handleGetDbConfig )).Methods ("GET" )
220
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermUpdateDb }, nil , (* handler ).handleGetDbConfig , handlerOptions { runOffline : true , sgcollect : true } )).Methods ("GET" )
220
221
dbr .Handle ("/_config" ,
221
222
makeOfflineHandler (sc , adminPrivs , []Permission {PermUpdateDb , PermConfigureSyncFn , PermConfigureAuth }, []Permission {PermUpdateDb , PermConfigureSyncFn , PermConfigureAuth }, (* handler ).handlePutDbConfig )).Methods ("PUT" , "POST" )
222
223
@@ -260,15 +261,15 @@ func CreateAdminRouter(sc *ServerContext) *mux.Router {
260
261
makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleSetLogging )).Methods ("PUT" , "POST" )
261
262
262
263
r .Handle ("/_config" ,
263
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleGetConfig )).Methods ("GET" )
264
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleGetConfig , handlerOptions { sgcollect : true } )).Methods ("GET" )
264
265
r .Handle ("/_config" ,
265
266
makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePutConfig )).Methods ("PUT" )
266
267
267
268
r .Handle ("/_cluster_info" ,
268
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleGetClusterInfo )).Methods ("GET" )
269
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleGetClusterInfo , handlerOptions { sgcollect : true } )).Methods ("GET" )
269
270
270
271
r .Handle ("/_status" ,
271
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleGetStatus )).Methods ("GET" )
272
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleGetStatus , handlerOptions { sgcollect : true } )).Methods ("GET" )
272
273
273
274
r .Handle ("/_sgcollect_info" ,
274
275
makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleSGCollectStatus )).Methods ("GET" )
@@ -281,33 +282,36 @@ func CreateAdminRouter(sc *ServerContext) *mux.Router {
281
282
r .Handle ("/_stats" ,
282
283
makeHandler (sc , adminPrivs , []Permission {PermStatsExport }, nil , (* handler ).handleStats )).Methods ("GET" )
283
284
r .Handle (kDebugURLPathPrefix ,
284
- makeSilentHandler (sc , adminPrivs , []Permission {PermStatsExport }, nil , (* handler ).handleExpvar )).Methods ("GET" )
285
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermStatsExport }, nil , (* handler ).handleExpvar , handlerOptions {
286
+ httpLogLevel : base .Ptr (base .LevelDebug ), // silent handler
287
+ sgcollect : true ,
288
+ })).Methods ("GET" )
285
289
r .Handle ("/_profile/{profilename}" ,
286
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleProfiling )).Methods ("POST" )
290
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleProfiling , handlerOptions { sgcollect : true } )).Methods ("POST" )
287
291
r .Handle ("/_profile" ,
288
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleProfiling )).Methods ("POST" )
292
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleProfiling , handlerOptions { sgcollect : true } )).Methods ("POST" )
289
293
r .Handle ("/_heap" ,
290
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleHeapProfiling )).Methods ("POST" )
294
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleHeapProfiling , handlerOptions { sgcollect : true } )).Methods ("POST" )
291
295
r .Handle ("/_debug/pprof/goroutine" ,
292
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofGoroutine )).Methods ("GET" , "POST" )
296
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofGoroutine , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
293
297
r .Handle ("/_debug/pprof/cmdline" ,
294
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofCmdline )).Methods ("GET" , "POST" )
298
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofCmdline , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
295
299
r .Handle ("/_debug/pprof/symbol" ,
296
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofSymbol )).Methods ("GET" , "POST" )
300
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofSymbol , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
297
301
r .Handle ("/_debug/pprof/heap" ,
298
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofHeap )).Methods ("GET" , "POST" )
302
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofHeap , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
299
303
r .Handle ("/_debug/pprof/profile" ,
300
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofProfile )).Methods ("GET" , "POST" )
304
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofProfile , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
301
305
r .Handle ("/_debug/pprof/block" ,
302
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofBlock )).Methods ("GET" , "POST" )
306
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofBlock , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
303
307
r .Handle ("/_debug/pprof/threadcreate" ,
304
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofThreadcreate )).Methods ("GET" , "POST" )
308
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofThreadcreate , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
305
309
r .Handle ("/_debug/pprof/mutex" ,
306
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofMutex )).Methods ("GET" , "POST" )
310
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofMutex , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
307
311
r .Handle ("/_debug/pprof/trace" ,
308
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofTrace )).Methods ("GET" , "POST" )
312
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePprofTrace , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
309
313
r .Handle ("/_debug/fgprof" ,
310
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleFgprof )).Methods ("GET" , "POST" )
314
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleFgprof , handlerOptions { sgcollect : true } )).Methods ("GET" , "POST" )
311
315
312
316
r .Handle ("/_post_upgrade" ,
313
317
makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handlePostUpgrade )).Methods ("POST" )
@@ -332,7 +336,7 @@ func CreateAdminRouter(sc *ServerContext) *mux.Router {
332
336
makeMetadataDBOfflineHandler (sc , adminPrivs , []Permission {PermDeleteDb }, nil , (* handler ).handleDeleteDB )).Methods ("DELETE" )
333
337
334
338
r .Handle ("/_all_dbs" ,
335
- makeHandler (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleAllDbs )).Methods ("GET" , "HEAD" )
339
+ makeHandlerWithOptions (sc , adminPrivs , []Permission {PermDevOps }, nil , (* handler ).handleAllDbs , handlerOptions { sgcollect : true } )).Methods ("GET" , "HEAD" )
336
340
337
341
return r
338
342
}
0 commit comments