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(); }
public void CleanUriSegment(string segment, string expected) { string actual = UriHelpers.CleanUriSegment(segment); Assert.Equal(expected, actual); }