github.com/moby/docker@v26.1.3+incompatible/api/server/router/image/image.go (about) 1 package image // import "github.com/docker/docker/api/server/router/image" 2 3 import ( 4 "github.com/docker/docker/api/server/router" 5 "github.com/docker/docker/image" 6 "github.com/docker/docker/layer" 7 "github.com/docker/docker/reference" 8 ) 9 10 // imageRouter is a router to talk with the image controller 11 type imageRouter struct { 12 backend Backend 13 searcher Searcher 14 referenceBackend reference.Store 15 imageStore image.Store 16 layerStore layer.Store 17 routes []router.Route 18 } 19 20 // NewRouter initializes a new image router 21 func NewRouter(backend Backend, searcher Searcher, referenceBackend reference.Store, imageStore image.Store, layerStore layer.Store) router.Router { 22 ir := &imageRouter{ 23 backend: backend, 24 searcher: searcher, 25 referenceBackend: referenceBackend, 26 imageStore: imageStore, 27 layerStore: layerStore, 28 } 29 ir.initRoutes() 30 return ir 31 } 32 33 // Routes returns the available routes to the image controller 34 func (ir *imageRouter) Routes() []router.Route { 35 return ir.routes 36 } 37 38 // initRoutes initializes the routes in the image router 39 func (ir *imageRouter) initRoutes() { 40 ir.routes = []router.Route{ 41 // GET 42 router.NewGetRoute("/images/json", ir.getImagesJSON), 43 router.NewGetRoute("/images/search", ir.getImagesSearch), 44 router.NewGetRoute("/images/get", ir.getImagesGet), 45 router.NewGetRoute("/images/{name:.*}/get", ir.getImagesGet), 46 router.NewGetRoute("/images/{name:.*}/history", ir.getImagesHistory), 47 router.NewGetRoute("/images/{name:.*}/json", ir.getImagesByName), 48 // POST 49 router.NewPostRoute("/images/load", ir.postImagesLoad), 50 router.NewPostRoute("/images/create", ir.postImagesCreate), 51 router.NewPostRoute("/images/{name:.*}/push", ir.postImagesPush), 52 router.NewPostRoute("/images/{name:.*}/tag", ir.postImagesTag), 53 router.NewPostRoute("/images/prune", ir.postImagesPrune), 54 // DELETE 55 router.NewDeleteRoute("/images/{name:.*}", ir.deleteImages), 56 } 57 }