build.go 748 B

1234567891011121314151617181920212223242526272829
  1. package build
  2. import "github.com/docker/docker/api/server/router"
  3. // buildRouter is a router to talk with the build controller
  4. type buildRouter struct {
  5. backend Backend
  6. daemon experimentalProvider
  7. routes []router.Route
  8. }
  9. // NewRouter initializes a new build router
  10. func NewRouter(b Backend, d experimentalProvider) router.Router {
  11. r := &buildRouter{backend: b, daemon: d}
  12. r.initRoutes()
  13. return r
  14. }
  15. // Routes returns the available routers to the build controller
  16. func (r *buildRouter) Routes() []router.Route {
  17. return r.routes
  18. }
  19. func (r *buildRouter) initRoutes() {
  20. r.routes = []router.Route{
  21. router.NewPostRoute("/build", r.postBuild, router.WithCancel),
  22. router.NewPostRoute("/build/prune", r.postPrune, router.WithCancel),
  23. }
  24. }