mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
dd93571c69
This is done by moving the following types to api/types/config.go: - ContainersConfig - ContainerAttachWithLogsConfig - ContainerWsAttachWithLogsConfig - ContainerLogsConfig - ContainerStatsConfig Remove dependency on "version" package from types.ContainerStatsConfig. Decouple the "container" router from the "daemon/exec" implementation. * This is done by making daemon.ContainerExecInspect() return an interface{} value. The same trick is already used by daemon.ContainerInspect(). Improve documentation for router packages. Extract localRoute and router into separate files. Move local.router to image.imageRouter. Changes: - Move local/image.go to image/image_routes.go. - Move local/local.go to image/image.go - Rename router to imageRouter. - Simplify imports for image/image.go (remove alias for router package). Merge router/local package into router package. Decouple the "image" router from the actual daemon implementation. Add Daemon.GetNetworkByID and Daemon.GetNetworkByName. Decouple the "network" router from the actual daemon implementation. This is done by replacing the daemon.NetworkByName constant with an explicit GetNetworkByName method. Remove the unused Daemon.GetNetwork method and the associated constants NetworkByID and NetworkByName. Signed-off-by: Lukas Waslowski <cr7pt0gr4ph7@gmail.com> Signed-off-by: David Calavera <david.calavera@gmail.com>
63 lines
2.8 KiB
Go
63 lines
2.8 KiB
Go
package container
|
|
|
|
import "github.com/docker/docker/api/server/router"
|
|
|
|
// containerRouter is a router to talk with the container controller
|
|
type containerRouter struct {
|
|
backend Backend
|
|
routes []router.Route
|
|
}
|
|
|
|
// NewRouter initializes a new container router
|
|
func NewRouter(b Backend) router.Router {
|
|
r := &containerRouter{
|
|
backend: b,
|
|
}
|
|
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:.*}/copy", r.postContainersCopy),
|
|
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),
|
|
// PUT
|
|
router.NewPutRoute("/containers/{name:.*}/archive", r.putContainersArchive),
|
|
// DELETE
|
|
router.NewDeleteRoute("/containers/{name:.*}", r.deleteContainers),
|
|
}
|
|
}
|