diff --git a/internal/dav/util.go b/internal/dav/util.go index 6e2bdda..b192bc3 100644 --- a/internal/dav/util.go +++ b/internal/dav/util.go @@ -1,14 +1,22 @@ package dav import ( - "path/filepath" "strings" ) +// addSlash ensures the input string ends with a slash regardless of the OS func addSlash(input string) string { - p := filepath.Join("/", input) - if p == "/" || strings.HasSuffix(p, "/") { - return p + // Standardize the path separator to use forward slashes + input = strings.ReplaceAll(input, "\\", "/") + + // Ensure the input starts with a slash + if !strings.HasPrefix(input, "/") { + input = "/" + input } - return p + "/" + + // Ensure the path ends with a slash + if !strings.HasSuffix(input, "/") { + input += "/" + } + return input }