- mux.Handle("/arvados/v1/config", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- var buf bytes.Buffer
- err := config.ExportJSON(&buf, h.Cluster)
- if err != nil {
- httpserver.Error(w, err.Error(), http.StatusInternalServerError)
- return
- }
- w.Header().Set("Content-Type", "application/json")
- io.Copy(w, &buf)
- }))
+ rtr := router.New(federation.New(h.Cluster))
+ mux.Handle("/arvados/v1/config", 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.EndpointUserAuthenticate.Path, rtr)
+ mux.Handle("/login", rtr)
+ mux.Handle("/logout", rtr)
+ }