123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package image // import "github.com/docker/docker/api/server/router/image"
- import (
- "github.com/docker/docker/api/server/router"
- "github.com/docker/docker/image"
- "github.com/docker/docker/layer"
- "github.com/docker/docker/reference"
- )
- // imageRouter is a router to talk with the image controller
- type imageRouter struct {
- backend Backend
- searcher Searcher
- referenceBackend reference.Store
- imageStore image.Store
- layerStore layer.Store
- routes []router.Route
- }
- // NewRouter initializes a new image router
- func NewRouter(backend Backend, searcher Searcher, referenceBackend reference.Store, imageStore image.Store, layerStore layer.Store) router.Router {
- ir := &imageRouter{
- backend: backend,
- searcher: searcher,
- referenceBackend: referenceBackend,
- imageStore: imageStore,
- layerStore: layerStore,
- }
- ir.initRoutes()
- return ir
- }
- // Routes returns the available routes to the image controller
- func (ir *imageRouter) Routes() []router.Route {
- return ir.routes
- }
- // initRoutes initializes the routes in the image router
- func (ir *imageRouter) initRoutes() {
- ir.routes = []router.Route{
- // GET
- router.NewGetRoute("/images/json", ir.getImagesJSON),
- router.NewGetRoute("/images/search", ir.getImagesSearch),
- router.NewGetRoute("/images/get", ir.getImagesGet),
- router.NewGetRoute("/images/{name:.*}/get", ir.getImagesGet),
- router.NewGetRoute("/images/{name:.*}/history", ir.getImagesHistory),
- router.NewGetRoute("/images/{name:.*}/json", ir.getImagesByName),
- // POST
- router.NewPostRoute("/images/load", ir.postImagesLoad),
- router.NewPostRoute("/images/create", ir.postImagesCreate),
- router.NewPostRoute("/images/{name:.*}/push", ir.postImagesPush),
- router.NewPostRoute("/images/{name:.*}/tag", ir.postImagesTag),
- router.NewPostRoute("/images/prune", ir.postImagesPrune),
- // DELETE
- router.NewDeleteRoute("/images/{name:.*}", ir.deleteImages),
- }
- }
|