From 2e590314751e9ef2b0cacb4c93c7d30974aa218a Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 4 Jul 2019 13:56:45 +0200 Subject: [PATCH] Fix bug where path vars go lost --- ui/serve.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ui/serve.go b/ui/serve.go index dbf5637f..659d4d1c 100644 --- a/ui/serve.go +++ b/ui/serve.go @@ -11,7 +11,6 @@ import ( "sync" resources "github.com/cookieo9/resources-go" - "github.com/gorilla/mux" "github.com/safing/portbase/api" "github.com/safing/portbase/log" @@ -41,7 +40,7 @@ func ServeBundle(defaultModuleName string) func(w http.ResponseWriter, r *http.R // log.Tracef("ui: request for %s", r.RequestURI) - vars := mux.Vars(r) + vars := api.GetMuxVars(r) moduleName, ok := vars["moduleName"] if !ok { moduleName = defaultModuleName @@ -98,8 +97,13 @@ func ServeBundle(defaultModuleName string) func(w http.ResponseWriter, r *http.R func ServeFileFromBundle(w http.ResponseWriter, r *http.Request, bundleName string, bundle *resources.BundleSequence, path string) { readCloser, err := bundle.Open(path) if err != nil { - log.Tracef("ui: error opening module %s: %s", bundleName, err) - http.Error(w, err.Error(), http.StatusInternalServerError) + if err == resources.ErrNotFound { + log.Tracef("ui: requested resource \"%s\" not found in bundle %s: %s", path, bundleName, err) + http.Error(w, err.Error(), http.StatusNotFound) + } else { + log.Tracef("ui: error opening module %s: %s", bundleName, err) + http.Error(w, err.Error(), http.StatusInternalServerError) + } return }