From f5243098577d0f1c9f72a73a592279c22e2fdc21 Mon Sep 17 00:00:00 2001 From: Ivano Culmine Date: Fri, 10 Oct 2025 19:04:53 +0200 Subject: [PATCH] Fix for paths with escaped characters --- src/Dav.AspNetCore.Server/UriHelper.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Dav.AspNetCore.Server/UriHelper.cs b/src/Dav.AspNetCore.Server/UriHelper.cs index 723fa5c..870f2ab 100644 --- a/src/Dav.AspNetCore.Server/UriHelper.cs +++ b/src/Dav.AspNetCore.Server/UriHelper.cs @@ -12,7 +12,7 @@ public static Uri GetParent(this Uri uri) var uriString = string.Empty; for (var i = 0; i < uri.Segments.Length - 1; i++) { - uriString += uri.Segments[i]; + uriString += Uri.UnescapeDataString(uri.Segments[i]); } return new Uri(uriString); @@ -42,7 +42,7 @@ public static Uri GetRelativeUri(this Uri relativeTo, Uri uri) return uri; } - var relativePath = string.Join("", relativeTo.Segments.Skip(uri.Segments.Length)); + var relativePath = string.Join("", relativeTo.Segments.Select(s => Uri.UnescapeDataString(s)).Skip(uri.Segments.Length)); if (!relativePath.StartsWith("/")) relativePath = $"/{relativePath}";