From 1df16f0fe2c38b9f95e903ecee095d043a353756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20B=C3=B6sche?= Date: Thu, 29 Jan 2026 00:52:21 +0100 Subject: [PATCH] Fix ensureParent method to correctly construct MKCOL URLs for empty paths --- go_cloud/internal/storage/webdav.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/go_cloud/internal/storage/webdav.go b/go_cloud/internal/storage/webdav.go index 9e74492..a209576 100644 --- a/go_cloud/internal/storage/webdav.go +++ b/go_cloud/internal/storage/webdav.go @@ -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)