github.com/getong/docker@v1.13.1/api/server/router/system/system.go (about) 1 package system 2 3 import ( 4 "github.com/docker/docker/api/server/router" 5 "github.com/docker/docker/daemon/cluster" 6 ) 7 8 // systemRouter provides information about the Docker system overall. 9 // It gathers information about host, daemon and container events. 10 type systemRouter struct { 11 backend Backend 12 clusterProvider *cluster.Cluster 13 routes []router.Route 14 } 15 16 // NewRouter initializes a new system router 17 func NewRouter(b Backend, c *cluster.Cluster) router.Router { 18 r := &systemRouter{ 19 backend: b, 20 clusterProvider: c, 21 } 22 23 r.routes = []router.Route{ 24 router.NewOptionsRoute("/{anyroute:.*}", optionsHandler), 25 router.NewGetRoute("/_ping", pingHandler), 26 router.Cancellable(router.NewGetRoute("/events", r.getEvents)), 27 router.NewGetRoute("/info", r.getInfo), 28 router.NewGetRoute("/version", r.getVersion), 29 router.NewGetRoute("/system/df", r.getDiskUsage), 30 router.NewPostRoute("/auth", r.postAuth), 31 } 32 33 return r 34 } 35 36 // Routes returns all the API routes dedicated to the docker system 37 func (s *systemRouter) Routes() []router.Route { 38 return s.routes 39 }