diff options
Diffstat (limited to 'admin.go')
-rw-r--r-- | admin.go | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -95,9 +95,11 @@ func StartAdmin(initialConfigJSON []byte) error { mux.HandleFunc("/debug/pprof/trace", pprof.Trace) ///// END PPROF STUFF ////// - for _, m := range GetModules("admin") { - route := m.New().(AdminRoute) - mux.Handle(route.Pattern, route) + for _, m := range GetModules("admin.routers") { + adminrtr := m.New().(AdminRouter) + for _, route := range adminrtr.Routes() { + mux.Handle(route.Pattern, route) + } } handler := cors.Default().Handler(mux) @@ -144,6 +146,11 @@ func StopAdmin() error { return nil } +// AdminRouter is a type which can return routes for the admin API. +type AdminRouter interface { + Routes() []AdminRoute +} + // AdminRoute represents a route for the admin endpoint. type AdminRoute struct { http.Handler |