Fix ensureParent method to correctly construct MKCOL URLs for empty paths

This commit is contained in:
Leon Bösche
2026-01-29 00:52:21 +01:00
parent e611c03625
commit 1df16f0fe2

View File

@@ -55,7 +55,12 @@ func (c *WebDAVClient) ensureParent(ctx context.Context, remotePath string) erro
cur := c.basePrefix
for _, p := range parts {
cur = path.Join(cur, p)
mkurl := fmt.Sprintf("%s%s", c.baseURL, cur)
var mkurl string
if cur == "" || cur == "/" {
mkurl = fmt.Sprintf("%s/%s", c.baseURL, url.PathEscape(p))
} else {
mkurl = fmt.Sprintf("%s%s", c.baseURL, cur)
}
req, _ := http.NewRequestWithContext(ctx, "MKCOL", mkurl, nil)
if c.user != "" {
req.SetBasicAuth(c.user, c.pass)