public IpRateLimitMiddleware(RequestDelegate next, IOptions <IpRateLimitOptions> options, IRateLimitCounterStore counterStore, IIpPolicyStore policyStore, ILogger <IpRateLimitMiddleware> logger) { _next = next; _options = options.Value; _logger = logger; _processor = new IpRateLimitProcessor(_options, counterStore, policyStore); }
public IpRateLimitMiddleware(RequestDelegate next, IOptions <IpRateLimitOptions> options, IRateLimitCounterStore counterStore, IIpPolicyStore policyStore, ILogger <IpRateLimitMiddleware> logger, IIpAddressParser ipParser = null) { _next = next; _options = options.Value; _logger = logger; _ipParser = ipParser ?? new ReversProxyIpParser(_options.RealIpHeader); _processor = new IpRateLimitProcessor(_options, counterStore, policyStore, _ipParser); }