| package build // import "github.com/docker/docker/api/server/router/build" |
| |
| import ( |
| "github.com/docker/docker/api/server/router" |
| "github.com/docker/docker/api/types" |
| ) |
| |
| // buildRouter is a router to talk with the build controller |
| type buildRouter struct { |
| backend Backend |
| daemon experimentalProvider |
| routes []router.Route |
| builderVersion types.BuilderVersion |
| } |
| |
| // NewRouter initializes a new build router |
| func NewRouter(b Backend, d experimentalProvider, bv types.BuilderVersion) router.Router { |
| r := &buildRouter{backend: b, daemon: d, builderVersion: bv} |
| r.initRoutes() |
| return r |
| } |
| |
| // Routes returns the available routers to the build controller |
| func (r *buildRouter) Routes() []router.Route { |
| return r.routes |
| } |
| |
| func (r *buildRouter) initRoutes() { |
| r.routes = []router.Route{ |
| router.NewPostRoute("/build", r.postBuild, router.WithCancel), |
| router.NewPostRoute("/build/prune", r.postPrune, router.WithCancel), |
| router.NewPostRoute("/build/cancel", r.postCancel), |
| } |
| } |