From 0c012d007c7ef0a5b30e9ce377511f38ccbd3804 Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 13 Jan 2021 11:15:23 +1100 Subject: [PATCH] Adds AbsolutePathDecoded to IPublishedRequest too --- src/Umbraco.Core/Routing/IPublishedRequest.cs | 5 +++++ src/Umbraco.Core/Routing/IPublishedRequestBuilder.cs | 2 +- src/Umbraco.Core/Routing/PublishedRequest.cs | 6 +++++- src/Umbraco.Core/Routing/PublishedRequestBuilder.cs | 1 + 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Core/Routing/IPublishedRequest.cs b/src/Umbraco.Core/Routing/IPublishedRequest.cs index fedfd69dc3..58523d12e4 100644 --- a/src/Umbraco.Core/Routing/IPublishedRequest.cs +++ b/src/Umbraco.Core/Routing/IPublishedRequest.cs @@ -17,6 +17,11 @@ namespace Umbraco.Web.Routing /// The cleaned up Uri has no virtual directory, no trailing slash, no .aspx extension, etc. Uri Uri { get; } + /// + /// Gets the URI decoded absolute path of the + /// + string AbsolutePathDecoded { get; } + /// /// Gets a value indicating the requested content. /// diff --git a/src/Umbraco.Core/Routing/IPublishedRequestBuilder.cs b/src/Umbraco.Core/Routing/IPublishedRequestBuilder.cs index 180b6825f2..bd5b5625a3 100644 --- a/src/Umbraco.Core/Routing/IPublishedRequestBuilder.cs +++ b/src/Umbraco.Core/Routing/IPublishedRequestBuilder.cs @@ -19,7 +19,7 @@ namespace Umbraco.Web.Routing Uri Uri { get; } /// - /// Gets the decoded absolute path of the + /// Gets the URI decoded absolute path of the /// string AbsolutePathDecoded { get; } diff --git a/src/Umbraco.Core/Routing/PublishedRequest.cs b/src/Umbraco.Core/Routing/PublishedRequest.cs index e42211da49..0c129bf279 100644 --- a/src/Umbraco.Core/Routing/PublishedRequest.cs +++ b/src/Umbraco.Core/Routing/PublishedRequest.cs @@ -13,9 +13,10 @@ namespace Umbraco.Web.Routing /// /// Initializes a new instance of the class. /// - public PublishedRequest(Uri uri, IPublishedContent publishedContent, bool isInternalRedirect, ITemplate template, DomainAndUri domain, string culture, string redirectUrl, int? responseStatusCode, IReadOnlyList cacheExtensions, IReadOnlyDictionary headers, bool setNoCacheHeader, bool ignorePublishedContentCollisions) + public PublishedRequest(Uri uri, string absPathDecoded, IPublishedContent publishedContent, bool isInternalRedirect, ITemplate template, DomainAndUri domain, string culture, string redirectUrl, int? responseStatusCode, IReadOnlyList cacheExtensions, IReadOnlyDictionary headers, bool setNoCacheHeader, bool ignorePublishedContentCollisions) { Uri = uri ?? throw new ArgumentNullException(nameof(uri)); + AbsolutePathDecoded = absPathDecoded ?? throw new ArgumentNullException(nameof(absPathDecoded)); PublishedContent = publishedContent; IsInternalRedirect = isInternalRedirect; Template = template; @@ -32,6 +33,9 @@ namespace Umbraco.Web.Routing /// public Uri Uri { get; } + /// + public string AbsolutePathDecoded { get; } + /// public bool IgnorePublishedContentCollisions { get; } diff --git a/src/Umbraco.Core/Routing/PublishedRequestBuilder.cs b/src/Umbraco.Core/Routing/PublishedRequestBuilder.cs index 9ed8a1ee10..606031564b 100644 --- a/src/Umbraco.Core/Routing/PublishedRequestBuilder.cs +++ b/src/Umbraco.Core/Routing/PublishedRequestBuilder.cs @@ -67,6 +67,7 @@ namespace Umbraco.Web.Routing /// public IPublishedRequest Build() => new PublishedRequest( Uri, + AbsolutePathDecoded, PublishedContent, IsInternalRedirect, Template,