Exemplo n.º 1
0
        /// <summary>
        /// Constructs the URL to jump to.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="newPath"></param>
        /// <returns></returns>
        private string BuildNewPath(OwinContext context, string newPath)
        {
            var isHttp  = String.Equals(context.RequestScheme, "http", StringComparison.OrdinalIgnoreCase);
            var isHttps = !isHttp && String.Equals(context.RequestScheme, "https", StringComparison.OrdinalIgnoreCase);

            var host = context.RequestHost ?? "";

            if (isHttp && host.EndsWith(":80"))
            {
                host = host.Substring(0, host.Length - 3);
            }
            else if (isHttps && host.EndsWith(":443"))
            {
                host = host.Substring(0, host.Length - 4);
            }

            return(OwinPath.ConstructUrl(
                       context.RequestScheme,
                       host,
                       context.RequestPathBase,
                       newPath,
                       context.RequestQueryString
                       ));
        }
Exemplo n.º 2
0
        public void ConstructUrl_Returns_Correct_Values(string scheme, string host, string pathBase, string path, string queryString, string expected)
        {
            var url = OwinPath.ConstructUrl(scheme, host, pathBase, path, queryString);

            Assert.AreEqual(expected, url);
        }