// Router creates the mux for all the various app components. func router(c app.Collector) http.Handler { router := mux.NewRouter() app.RegisterReportPostHandler(c, router) app.RegisterControlRoutes(router) app.RegisterPipeRoutes(router) return app.TopologyHandler(c, router, http.FileServer(FS(false))) }
// Router creates the mux for all the various app components. func router(collector app.Collector, controlRouter app.ControlRouter, pipeRouter app.PipeRouter) http.Handler { router := mux.NewRouter().SkipClean(true) // We pull in the http.DefaultServeMux to get the pprof routes router.PathPrefix("/debug/pprof").Handler(http.DefaultServeMux) router.Path("/metrics").Handler(prometheus.Handler()) app.RegisterReportPostHandler(collector, router) app.RegisterControlRoutes(router, controlRouter) app.RegisterPipeRoutes(router, pipeRouter) app.RegisterTopologyRoutes(router, collector) router.PathPrefix("/").Name("static").Handler(http.FileServer(FS(false))) instrument := middleware.Instrument{ RouteMatcher: router, Duration: requestDuration, } return instrument.Wrap(router) }