webdav: trailing slash on directories - https://github.com/golang/go/issues/29858

This commit is contained in:
Mickael KERJEAN
2019-02-20 17:06:04 +11:00
parent 3a22650c66
commit a6dc776fa3
2 changed files with 6 additions and 2 deletions

View File

@@ -556,7 +556,11 @@ func (h *Handler) handlePropfind(w http.ResponseWriter, r *http.Request) (status
if err != nil {
return err
}
return mw.write(makePropstatResponse(path.Join(h.Prefix, reqPath), pstats))
href := path.Join(h.Prefix, reqPath)
if info.IsDir() {
href += "/"
}
return mw.write(makePropstatResponse(href, pstats))
}
walkErr := walkFS(ctx, h.FileSystem, depth, reqPath, fi, walkFn)

View File

@@ -284,7 +284,7 @@ func TestFilenameEscape(t *testing.T) {
wantDisplayName: `こんにちわ世界`,
}, {
name: `/Program Files/`,
wantHref: `/Program%20Files`,
wantHref: `/Program%20Files/`,
wantDisplayName: `Program Files`,
}, {
name: `/go+lang`,