1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package container // import "github.com/docker/docker/api/server/router/container"
- import (
- "github.com/docker/docker/api/server/httputils"
- "github.com/docker/docker/api/server/router"
- )
- // containerRouter is a router to talk with the container controller
- type containerRouter struct {
- backend Backend
- decoder httputils.ContainerDecoder
- routes []router.Route
- cgroup2 bool
- }
- // NewRouter initializes a new container router
- func NewRouter(b Backend, decoder httputils.ContainerDecoder, cgroup2 bool) router.Router {
- r := &containerRouter{
- backend: b,
- decoder: decoder,
- cgroup2: cgroup2,
- }
- r.initRoutes()
- return r
- }
- // Routes returns the available routes to the container controller
- func (r *containerRouter) Routes() []router.Route {
- return r.routes
- }
- // initRoutes initializes the routes in container router
- func (r *containerRouter) initRoutes() {
- r.routes = []router.Route{
- // HEAD
- router.NewHeadRoute("/containers/{name:.*}/archive", r.headContainersArchive),
- // GET
- router.NewGetRoute("/containers/json", r.getContainersJSON),
- router.NewGetRoute("/containers/{name:.*}/export", r.getContainersExport),
- router.NewGetRoute("/containers/{name:.*}/changes", r.getContainersChanges),
- router.NewGetRoute("/containers/{name:.*}/json", r.getContainersByName),
- router.NewGetRoute("/containers/{name:.*}/top", r.getContainersTop),
- router.NewGetRoute("/containers/{name:.*}/logs", r.getContainersLogs),
- router.NewGetRoute("/containers/{name:.*}/stats", r.getContainersStats),
- router.NewGetRoute("/containers/{name:.*}/attach/ws", r.wsContainersAttach),
- router.NewGetRoute("/exec/{id:.*}/json", r.getExecByID),
- router.NewGetRoute("/containers/{name:.*}/archive", r.getContainersArchive),
- // POST
- router.NewPostRoute("/containers/create", r.postContainersCreate),
- router.NewPostRoute("/containers/{name:.*}/kill", r.postContainersKill),
- router.NewPostRoute("/containers/{name:.*}/pause", r.postContainersPause),
- router.NewPostRoute("/containers/{name:.*}/unpause", r.postContainersUnpause),
- router.NewPostRoute("/containers/{name:.*}/restart", r.postContainersRestart),
- router.NewPostRoute("/containers/{name:.*}/start", r.postContainersStart),
- router.NewPostRoute("/containers/{name:.*}/stop", r.postContainersStop),
- router.NewPostRoute("/containers/{name:.*}/wait", r.postContainersWait),
- router.NewPostRoute("/containers/{name:.*}/resize", r.postContainersResize),
- router.NewPostRoute("/containers/{name:.*}/attach", r.postContainersAttach),
- router.NewPostRoute("/containers/{name:.*}/exec", r.postContainerExecCreate),
- router.NewPostRoute("/exec/{name:.*}/start", r.postContainerExecStart),
- router.NewPostRoute("/exec/{name:.*}/resize", r.postContainerExecResize),
- router.NewPostRoute("/containers/{name:.*}/rename", r.postContainerRename),
- router.NewPostRoute("/containers/{name:.*}/update", r.postContainerUpdate),
- router.NewPostRoute("/containers/prune", r.postContainersPrune),
- router.NewPostRoute("/commit", r.postCommit),
- // PUT
- router.NewPutRoute("/containers/{name:.*}/archive", r.putContainersArchive),
- // DELETE
- router.NewDeleteRoute("/containers/{name:.*}", r.deleteContainers),
- }
- }
|