fileserver: Fix browse not redirecting query parameters (#4196)

This commit is a follow up to PR #4179 that introduced a bug where
browse redirections to the right URL would not preserve query
parameters.
This commit is contained in:
diamondburned 2021-06-07 16:33:54 -07:00 committed by GitHub
parent 4c2da18841
commit 76913b19ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -50,7 +50,8 @@ func (fsrv *FileServer) serveBrowse(root, dirPath string, w http.ResponseWriter,
oldReq := r.Context().Value(caddyhttp.OriginalRequestCtxKey).(http.Request) oldReq := r.Context().Value(caddyhttp.OriginalRequestCtxKey).(http.Request)
if !strings.HasSuffix(oldReq.URL.Path, "/") { if !strings.HasSuffix(oldReq.URL.Path, "/") {
fsrv.logger.Debug("redirecting to trailing slash to preserve hrefs", zap.String("request_path", oldReq.URL.Path)) fsrv.logger.Debug("redirecting to trailing slash to preserve hrefs", zap.String("request_path", oldReq.URL.Path))
http.Redirect(w, r, oldReq.URL.Path+"/", http.StatusMovedPermanently) oldReq.URL.Path += "/"
http.Redirect(w, r, oldReq.URL.String(), http.StatusMovedPermanently)
return nil return nil
} }