From 159f2e29a89e36942e7946333e9ffa066376aa7b Mon Sep 17 00:00:00 2001 From: Chaitanya Date: Wed, 21 Aug 2019 00:17:57 +0530 Subject: [PATCH] rcd: prefix patch for rcd and web-gui --- cmd/serve/httplib/httpflags/httpflags.go | 5 ++--- fs/rc/rcserver/rcserver.go | 7 ++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cmd/serve/httplib/httpflags/httpflags.go b/cmd/serve/httplib/httpflags/httpflags.go index 46383e212..6b38748e9 100644 --- a/cmd/serve/httplib/httpflags/httpflags.go +++ b/cmd/serve/httplib/httpflags/httpflags.go @@ -26,9 +26,8 @@ func AddFlagsPrefix(flagSet *pflag.FlagSet, prefix string, Opt *httplib.Options) flags.StringVarP(flagSet, &Opt.Realm, prefix+"realm", "", Opt.Realm, "realm for authentication") flags.StringVarP(flagSet, &Opt.BasicUser, prefix+"user", "", Opt.BasicUser, "User name for authentication.") flags.StringVarP(flagSet, &Opt.BasicPass, prefix+"pass", "", Opt.BasicPass, "Password for authentication.") - if prefix == "" { - flags.StringVarP(flagSet, &Opt.Prefix, prefix+"prefix", "", Opt.Prefix, "Prefix for URLs.") - } + flags.StringVarP(flagSet, &Opt.Prefix, prefix+"prefix", "", Opt.Prefix, "Prefix for URLs.") + } // AddFlags adds flags for the httplib diff --git a/fs/rc/rcserver/rcserver.go b/fs/rc/rcserver/rcserver.go index b74d7b4c5..f52faa761 100644 --- a/fs/rc/rcserver/rcserver.go +++ b/fs/rc/rcserver/rcserver.go @@ -138,7 +138,11 @@ func writeError(path string, in rc.Params, w http.ResponseWriter, err error, sta // handler reads incoming requests and dispatches them func (s *Server) handler(w http.ResponseWriter, r *http.Request) { - path := strings.TrimLeft(r.URL.Path, "/") + urlPath, ok := s.Path(w, r) + if !ok { + return + } + path := strings.TrimLeft(urlPath, "/") allowOrigin := rcflags.Opt.AccessControlAllowOrigin if allowOrigin != "" { @@ -311,6 +315,7 @@ func (s *Server) handleGet(w http.ResponseWriter, r *http.Request, path string) return case s.files != nil: // Serve the files + r.URL.Path = "/" + path s.files.ServeHTTP(w, r) return case path == "" && s.opt.Serve: