summaryrefslogtreecommitdiff
path: root/admin.go
diff options
context:
space:
mode:
Diffstat (limited to 'admin.go')
-rw-r--r--admin.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/admin.go b/admin.go
index ba704e6..7799913 100644
--- a/admin.go
+++ b/admin.go
@@ -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