github.com/sijibomii/docker@v0.0.0-20231230191044-5cf6ca554647/api/server/router/network/network.go (about) 1 package network 2 3 import "github.com/docker/docker/api/server/router" 4 5 // networkRouter is a router to talk with the network controller 6 type networkRouter struct { 7 backend Backend 8 routes []router.Route 9 } 10 11 // NewRouter initializes a new network router 12 func NewRouter(b Backend) router.Router { 13 r := &networkRouter{ 14 backend: b, 15 } 16 r.initRoutes() 17 return r 18 } 19 20 // Routes returns the available routes to the network controller 21 func (r *networkRouter) Routes() []router.Route { 22 return r.routes 23 } 24 25 func (r *networkRouter) initRoutes() { 26 r.routes = []router.Route{ 27 // GET 28 router.NewGetRoute("/networks", r.getNetworksList), 29 router.NewGetRoute("/networks/{id:.*}", r.getNetwork), 30 // POST 31 router.NewPostRoute("/networks/create", r.postNetworkCreate), 32 router.NewPostRoute("/networks/{id:.*}/connect", r.postNetworkConnect), 33 router.NewPostRoute("/networks/{id:.*}/disconnect", r.postNetworkDisconnect), 34 // DELETE 35 router.NewDeleteRoute("/networks/{id:.*}", r.deleteNetwork), 36 } 37 }