github.com/hustcat/docker@v1.3.3-0.20160314103604-901c67a8eeab/api/server/router/image/image.go (about) 1 package image 2 3 import "github.com/docker/docker/api/server/router" 4 5 // imageRouter is a router to talk with the image controller 6 type imageRouter struct { 7 backend Backend 8 routes []router.Route 9 } 10 11 // NewRouter initializes a new image router 12 func NewRouter(backend Backend) router.Router { 13 r := &imageRouter{ 14 backend: backend, 15 } 16 r.initRoutes() 17 return r 18 } 19 20 // Routes returns the available routes to the image controller 21 func (r *imageRouter) Routes() []router.Route { 22 return r.routes 23 } 24 25 // initRoutes initializes the routes in the image router 26 func (r *imageRouter) initRoutes() { 27 r.routes = []router.Route{ 28 // GET 29 router.NewGetRoute("/images/json", r.getImagesJSON), 30 router.NewGetRoute("/images/search", r.getImagesSearch), 31 router.NewGetRoute("/images/get", r.getImagesGet), 32 router.NewGetRoute("/images/{name:.*}/get", r.getImagesGet), 33 router.NewGetRoute("/images/{name:.*}/history", r.getImagesHistory), 34 router.NewGetRoute("/images/{name:.*}/json", r.getImagesByName), 35 // POST 36 router.NewPostRoute("/commit", r.postCommit), 37 router.NewPostRoute("/images/create", r.postImagesCreate), 38 router.NewPostRoute("/images/load", r.postImagesLoad), 39 router.NewPostRoute("/images/{name:.*}/push", r.postImagesPush), 40 router.NewPostRoute("/images/{name:.*}/tag", r.postImagesTag), 41 // DELETE 42 router.NewDeleteRoute("/images/{name:.*}", r.deleteImages), 43 } 44 }