diff --git a/manifest.json b/manifest.json index abc9935..4688e8a 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "dependencies": { - "github.com/dutchcoders/transfer.sh-web": { + "github.com/kiska3/transfer.sh-web": { "branch": "master" } } diff --git a/server/handlers.go b/server/handlers.go index 95efaf1..b4f1a7c 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -321,7 +321,7 @@ func (s *Server) postHandler(w http.ResponseWriter, r *http.Request) { } - filename = url.QueryEscape(filename) + filename = url.PathEscape(filename) relativeURL, _ := url.Parse(path.Join(token, filename)) fmt.Fprintln(w, getURL(r).ResolveReference(relativeURL).String()) @@ -480,7 +480,7 @@ func (s *Server) putHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/plain") - filename = url.QueryEscape(filename) + filename = url.PathEscape(filename) relativeURL, _ := url.Parse(path.Join(token, filename)) deleteUrl, _ := url.Parse(path.Join(token, filename, metadata.DeletionToken)) @@ -556,9 +556,10 @@ func (s *Server) CheckMetadata(token, filename string) error { var metadata Metadata r, _, _, err := s.storage.Get(token, fmt.Sprintf("%s.metadata", filename)) - if s.storage.IsNotExist(err) { - return nil - } else if err != nil { + //if s.storage.IsNotExist(err) { + // return nil + //} else if err != nil { + if err != nil { return err } diff --git a/server/server.go b/server/server.go index 5d84b14..dec42b3 100644 --- a/server/server.go +++ b/server/server.go @@ -341,7 +341,8 @@ func (s *Server) Run() { r.HandleFunc("/{action:(?:download|get|inline)}/{token}/{filename}", s.headHandler).Methods("HEAD") r.HandleFunc("/{token}/{filename}", s.previewHandler).MatcherFunc(func(r *http.Request, rm *mux.RouteMatch) (match bool) { - match = false + return false + match = false // The file will show a preview page when opening the link in browser directly or // from external link. If the referer url path and current path are the same it will be