public static string Execute(string pathString, HttpRequestDurationsOptions options)
        {
            var result = pathString.ToLowerInvariant();

            if (options.IncludeCustomNormalizePath)
            {
                result = options.CustomNormalizePath.Aggregate(result, (current, normalizePath) => normalizePath.Key.Replace(current, normalizePath.Value));
            }

            return(result);
        }
        public void Int_Right_WithSlash(uint id) // ID - can't be less 0
        {
            var pathString = $"/path/to/{id}/";

            var options = new HttpRequestDurationsOptions {
                CustomNormalizePath = new Dictionary <Regex, string> {
                    { _intRegex, _intValue }
                }
            };

            var path = NormalizePath.Execute(pathString, options);

            Assert.Equal($"/path/to/id/", path);
        }
        public void Int_Center(uint id)
        {
            var pathString = $"/path/to/{id}/next";

            var options = new HttpRequestDurationsOptions {
                CustomNormalizePath = new Dictionary <Regex, string> {
                    { _intRegex, _intValue }
                }
            };

            var path = NormalizePath.Execute(pathString, options);

            Assert.Equal($"/path/to/id/next", path);
        }
        public void Guid_Right_WithSlash(string guid)
        {
            var pathString = $"/path/to/{guid}/";

            var options = new HttpRequestDurationsOptions {
                CustomNormalizePath = new Dictionary <Regex, string> {
                    { _guidRegex, _guidValue }
                }
            };

            var path = NormalizePath.Execute(pathString, options);

            Assert.Equal($"/path/to/guid/", path);
        }