
attempt to remove glide from integration glide trim Revert "attempt to remove glide from integration" This reverts commit c5b42b6cdebb44e730080a0cf20a871c11ef095b.
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package v2
|
|
|
|
import "github.com/gorilla/mux"
|
|
|
|
// The following are definitions of the name under which all V2 routes are
|
|
// registered. These symbols can be used to look up a route based on the name.
|
|
const (
|
|
RouteNameBase = "base"
|
|
RouteNameManifest = "manifest"
|
|
RouteNameTags = "tags"
|
|
RouteNameBlob = "blob"
|
|
RouteNameBlobUpload = "blob-upload"
|
|
RouteNameBlobUploadChunk = "blob-upload-chunk"
|
|
RouteNameCatalog = "catalog"
|
|
)
|
|
|
|
var allEndpoints = []string{
|
|
RouteNameManifest,
|
|
RouteNameCatalog,
|
|
RouteNameTags,
|
|
RouteNameBlob,
|
|
RouteNameBlobUpload,
|
|
RouteNameBlobUploadChunk,
|
|
}
|
|
|
|
// Router builds a gorilla router with named routes for the various API
|
|
// methods. This can be used directly by both server implementations and
|
|
// clients.
|
|
func Router() *mux.Router {
|
|
return RouterWithPrefix("")
|
|
}
|
|
|
|
// RouterWithPrefix builds a gorilla router with a configured prefix
|
|
// on all routes.
|
|
func RouterWithPrefix(prefix string) *mux.Router {
|
|
rootRouter := mux.NewRouter()
|
|
router := rootRouter
|
|
if prefix != "" {
|
|
router = router.PathPrefix(prefix).Subrouter()
|
|
}
|
|
|
|
router.StrictSlash(true)
|
|
|
|
for _, descriptor := range routeDescriptors {
|
|
router.Path(descriptor.Path).Name(descriptor.Name)
|
|
}
|
|
|
|
return rootRouter
|
|
}
|