Beispiel #1
0
 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);
            }
        }
Beispiel #5
0
        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);
        }