private IReadOnlyDictionary <string, string> BuildThrottlingProperties(HttpContext context, IRequestInfo info) { var builder = new ThrottlingPropertiesBuilder(); if (options.AddConsumerProperty) { builder.AddConsumer(info?.ClientApplicationIdentity); } if (options.AddPriorityProperty) { builder.AddPriority(info?.Priority.ToString()); } if (options.AddMethodProperty) { builder.AddMethod(context.Request.Method); } if (options.AddUrlProperty) { builder.AddUrl(UrlNormalizer.NormalizePath(context.Request.Path)); } foreach (var additionalProperty in options.AdditionalProperties) { var(propertyName, propertyValue) = additionalProperty(context); builder.AddProperty(propertyName, propertyValue); } return(builder.Build()); }
public void Should_produce_case_insensitive_properties() { builder.AddMethod("GET"); builder.Build()[WellKnownThrottlingProperties.Method.ToUpper()].Should().Be("GET"); }