12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package network // import "github.com/docker/docker/api/server/router/network"
- import (
- "github.com/docker/docker/api/server/router"
- )
- // networkRouter is a router to talk with the network controller
- type networkRouter struct {
- backend Backend
- cluster ClusterBackend
- routes []router.Route
- }
- // NewRouter initializes a new network router
- func NewRouter(b Backend, c ClusterBackend) router.Router {
- r := &networkRouter{
- backend: b,
- cluster: c,
- }
- r.initRoutes()
- return r
- }
- // Routes returns the available routes to the network controller
- func (r *networkRouter) Routes() []router.Route {
- return r.routes
- }
- func (r *networkRouter) initRoutes() {
- r.routes = []router.Route{
- // GET
- router.NewGetRoute("/networks", r.getNetworksList),
- router.NewGetRoute("/networks/", r.getNetworksList),
- router.NewGetRoute("/networks/{id:.+}", r.getNetwork),
- // POST
- router.NewPostRoute("/networks/create", r.postNetworkCreate),
- router.NewPostRoute("/networks/{id:.*}/connect", r.postNetworkConnect),
- router.NewPostRoute("/networks/{id:.*}/disconnect", r.postNetworkDisconnect),
- router.NewPostRoute("/networks/prune", r.postNetworksPrune),
- // DELETE
- router.NewDeleteRoute("/networks/{id:.*}", r.deleteNetwork),
- }
- }
|