build.go 1009 B

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