From db30db0c7a441eec9d5dd2ca2b74cfde9966d6ce Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Thu, 5 Apr 2018 17:54:40 -0400 Subject: [PATCH] 13111: Serve "site filesystem" at keep-web root URL. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- services/keep-web/cadaver_test.go | 5 +++++ services/keep-web/handler.go | 2 +- services/keep-web/server_test.go | 1 - 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/services/keep-web/cadaver_test.go b/services/keep-web/cadaver_test.go index 0fc6e47ba3..22ddd84df0 100644 --- a/services/keep-web/cadaver_test.go +++ b/services/keep-web/cadaver_test.go @@ -266,6 +266,11 @@ func (s *IntegrationSuite) testCadaver(c *check.C, password string, pathFunc fun } func (s *IntegrationSuite) TestCadaverUsersDir(c *check.C) { + for _, path := range []string{"/"} { + stdout := s.runCadaver(c, arvadostest.ActiveToken, path, "ls") + c.Check(stdout, check.Matches, `(?ms).*Coll:\s+by_id\s+0 .*`) + c.Check(stdout, check.Matches, `(?ms).*Coll:\s+users\s+0 .*`) + } for _, path := range []string{"/users", "/users/"} { stdout := s.runCadaver(c, arvadostest.ActiveToken, path, "ls") c.Check(stdout, check.Matches, `(?ms).*Coll:\s+active.*`) diff --git a/services/keep-web/handler.go b/services/keep-web/handler.go index 00af0f4eab..446eeb4a0e 100644 --- a/services/keep-web/handler.go +++ b/services/keep-web/handler.go @@ -250,7 +250,7 @@ func (h *handler) ServeHTTP(wOrig http.ResponseWriter, r *http.Request) { } else if r.URL.Path == "/status.json" { h.serveStatus(w, r) return - } else if len(pathParts) >= 1 && pathParts[0] == "users" { + } else if r.URL.Path == "/" || (len(pathParts) >= 1 && pathParts[0] == "users") { useSiteFS = true } else if len(pathParts) >= 1 && strings.HasPrefix(pathParts[0], "c=") { // /c=ID[/PATH...] diff --git a/services/keep-web/server_test.go b/services/keep-web/server_test.go index 02f03d04af..ee585ad5b2 100644 --- a/services/keep-web/server_test.go +++ b/services/keep-web/server_test.go @@ -59,7 +59,6 @@ func (s *IntegrationSuite) TestNoToken(c *check.C) { func (s *IntegrationSuite) Test404(c *check.C) { for _, uri := range []string{ // Routing errors (always 404 regardless of what's stored in Keep) - "/", "/foo", "/download", "/collections", -- 2.30.2