public void Process(GetCanonicalUrlArgs args) { if (!string.IsNullOrWhiteSpace(args.CanonicalUrl)) { args.CanonicalUrl = args.CanonicalUrl.ToLowerInvariant(); } else if (!string.IsNullOrWhiteSpace(args.RawUrl) && args.RawUrl != args.RawUrl.ToLowerInvariant()) { args.CanonicalUrl = args.RawUrl.ToLowerInvariant(); } }
public void EmptyForUnchangedUrls() { var rawUrl = "/page-url"; using (GetFakeDb()) { var args = new GetCanonicalUrlArgs(null, rawUrl); CorePipeline.Run("getCanonicalUrl", args); args.CanonicalUrl.Should().BeNull(); } }
public void GetsCorrectAliasedCanonical() { var rawUrl = "/aliased"; var resolvedUrl = "/page"; using (GetFakeDb()) { var args = new GetCanonicalUrlArgs(null, rawUrl); CorePipeline.Run("getCanonicalUrl", args); args.CanonicalUrl.Replace(".aspx", "").Should().EndWith(resolvedUrl); } }
public void LowerCasesRawUrl() { var rawUrl = "/Page Url"; var expectedResult = "/page url"; using (GetFakeDb()) { var args = new GetCanonicalUrlArgs(null, rawUrl); CorePipeline.Run("getCanonicalUrl", args); args.CanonicalUrl.Should().Be(expectedResult); } }
private string GetCanonicalUrl(Item pageItem) { var rawUrl = ""; if (HttpContext.Current != null) { rawUrl = HttpContext.Current.Request.RawUrl; } var getCanonicalUrlArgs = new GetCanonicalUrlArgs(pageItem, rawUrl); CorePipeline.Run("getCanonicalUrl", getCanonicalUrlArgs); return(getCanonicalUrlArgs.CanonicalUrl); }