private static void GetTagValuesFromRequest(
            object request,
            out string host,
            out string resourceName,
            out string fullUrl)
        {
            if (!request.TryGetPropertyValue("Host", out object hostObject) ||
                !hostObject.TryGetPropertyValue("Value", out host))
            {
                host = string.Empty;
            }

            if (!request.TryGetPropertyValue("PathBase", out object pathBaseObject) ||
                !pathBaseObject.TryGetPropertyValue("Value", out string pathBase))
            {
                pathBase = string.Empty;
            }

            if (!request.TryGetPropertyValue("Path", out object pathObject) ||
                !pathObject.TryGetPropertyValue("Value", out string path))
            {
                path = string.Empty;
            }

            if (!request.TryGetPropertyValue("QueryString", out object queryStringObject) ||
                !queryStringObject.TryGetPropertyValue("Value", out string queryString))
            {
                queryString = string.Empty;
            }

            if (!request.TryGetPropertyValue("Scheme", out string scheme))
            {
                scheme = string.Empty;
            }

            resourceName = $"{UriHelpers.CleanUriSegment(pathBase)}{UriHelpers.CleanUriSegment(path)}".ToLowerInvariant();
            fullUrl      = $"{scheme}://{host}{pathBase}{path}{queryString}".ToLowerInvariant();
        }
Пример #2
0
        public void CleanUriSegment(string segment, string expected)
        {
            string actual = UriHelpers.CleanUriSegment(segment);

            Assert.Equal(expected, actual);
        }