From e4448f1618814409139798a98859e404a1867735 Mon Sep 17 00:00:00 2001 From: Luke Fisher Date: Thu, 16 May 2024 08:15:33 +0100 Subject: [PATCH] Return early with current authority if no domains --- .../Routing/InvisibleNodeUrlProvider.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Our.Umbraco.InvisibleNodes/Routing/InvisibleNodeUrlProvider.cs b/src/Our.Umbraco.InvisibleNodes/Routing/InvisibleNodeUrlProvider.cs index e9e71f5..90614dd 100644 --- a/src/Our.Umbraco.InvisibleNodes/Routing/InvisibleNodeUrlProvider.cs +++ b/src/Our.Umbraco.InvisibleNodes/Routing/InvisibleNodeUrlProvider.cs @@ -34,6 +34,8 @@ public InvisibleNodeUrlProvider( /// public UrlInfo? GetUrl(IPublishedContent content, UrlMode mode, string? culture, Uri current) { + var currentAuthority = new Uri(current.GetLeftPart(UriPartial.Authority)); + string route = GenerateRoute(content, culture); if (mode == UrlMode.Auto || mode == UrlMode.Default || mode == UrlMode.Relative) @@ -45,9 +47,14 @@ public InvisibleNodeUrlProvider( var domainCache = umbracoContext.Domains; var domainAndUris = domainCache.GetAll(false) - .Select(domain => new DomainAndUri(domain, current)) + .Select(domain => new DomainAndUri(domain, currentAuthority)) .ToList(); + if (!domainAndUris.Any()) + return Uri.TryCreate(currentAuthority, route, out var currentCombined) + ? UrlInfo.Url(currentCombined.ToString(), culture) + : null; + var mappedDomain = _siteDomainMapper.MapDomain(domainAndUris, current, culture, domainCache.DefaultCulture); if (mappedDomain is null)