17944: Vocabulary loading, monitoring and checking on several object types.
[arvados.git] / lib / controller / handler.go
index 5f6fb192e1731a75b9052e9096c9a04dab6ddd99..51c72b282214bce660f5cd169cf6532690b00d83 100644 (file)
@@ -92,21 +92,24 @@ func (h *Handler) setup() {
        })
 
        oidcAuthorizer := localdb.OIDCAccessTokenAuthorizer(h.Cluster, h.db)
-       rtr := router.New(federation.New(h.Cluster), api.ComposeWrappers(ctrlctx.WrapCallsInTransactions(h.db), oidcAuthorizer.WrapCalls))
+       rtr := router.New(federation.New(h.Cluster), router.Config{
+               MaxRequestSize: h.Cluster.API.MaxRequestSize,
+               WrapCalls:      api.ComposeWrappers(ctrlctx.WrapCallsInTransactions(h.db), oidcAuthorizer.WrapCalls),
+       })
        mux.Handle("/arvados/v1/config", rtr)
-       mux.Handle("/"+arvados.EndpointUserAuthenticate.Path, rtr)
-
-       if !h.Cluster.ForceLegacyAPI14 {
-               mux.Handle("/arvados/v1/collections", rtr)
-               mux.Handle("/arvados/v1/collections/", rtr)
-               mux.Handle("/arvados/v1/users", rtr)
-               mux.Handle("/arvados/v1/users/", rtr)
-               mux.Handle("/arvados/v1/connect/", rtr)
-               mux.Handle("/arvados/v1/container_requests", rtr)
-               mux.Handle("/arvados/v1/container_requests/", rtr)
-               mux.Handle("/login", rtr)
-               mux.Handle("/logout", rtr)
-       }
+       mux.Handle("/arvados/v1/vocabulary", rtr)
+       mux.Handle("/"+arvados.EndpointUserAuthenticate.Path, rtr) // must come before .../users/
+       mux.Handle("/arvados/v1/collections", rtr)
+       mux.Handle("/arvados/v1/collections/", rtr)
+       mux.Handle("/arvados/v1/users", rtr)
+       mux.Handle("/arvados/v1/users/", rtr)
+       mux.Handle("/arvados/v1/connect/", rtr)
+       mux.Handle("/arvados/v1/container_requests", rtr)
+       mux.Handle("/arvados/v1/container_requests/", rtr)
+       mux.Handle("/arvados/v1/groups", rtr)
+       mux.Handle("/arvados/v1/groups/", rtr)
+       mux.Handle("/login", rtr)
+       mux.Handle("/logout", rtr)
 
        hs := http.NotFoundHandler()
        hs = prepend(hs, h.proxyRailsAPI)