private (Uri RedirectUri, Uri CanonicalUri) NormalizeUrl() { //var redirectUri = NormalizeUrl(out var canonicalUri); //return (redirectUri, canonicalUri); var urlNormalizer = new UrlNormalizer(); if (urlNormalizer.Normalize()) // no failure, possible redirect { return(urlNormalizer.NormalizedUri, urlNormalizer.CanonicalUri); } // could not normalize the url -- log and report it var logMessage = urlNormalizer.ErrorMessage; if (No404OnUrlNormalizeError) { logMessage = $"[no 404] {logMessage}"; } Log404Error(logMessage); UrlError = urlNormalizer.ErrorMessage; if (!No404OnUrlNormalizeError) { if (IsDebugging) { throw new ApplicationException(urlNormalizer.ErrorMessage); } else { SafeTransferToError404(); } } return(null, null); }
private Uri NormalizeUrl(out Uri canonicalUri) { var urlNormalizer = new UrlNormalizer(); if (urlNormalizer.Normalize()) // no failure, possible redirect { var redirectUri = urlNormalizer.NormalizedUri; if (redirectUri != null) // log upcoming redirect { Log301Redirect(redirectUri.ToString()); } canonicalUri = urlNormalizer.CanonicalUri; return(redirectUri); } // could not normalize the url -- log and report it var logMessage = urlNormalizer.ErrorMessage; if (No404OnUrlNormalizeError) { logMessage = "[no 404] " + logMessage; } Log404Error(logMessage); UrlError = urlNormalizer.ErrorMessage; if (!No404OnUrlNormalizeError) { if (IsDebugging) { throw new ApplicationException(urlNormalizer.ErrorMessage); } else { SafeTransferToError404(); } } canonicalUri = null; return(null); }