Example #1
0
 public RateLimitFilter(ILogger <RateLimitFilter> logger,
                        RateLimitOptions options,
                        IRateLimitPolicyCounter counter,
                        IClientIdentifierProvider clientIdentifierProvider,
                        int limitPerHour)
 {
     _logger  = logger;
     _options = options;
     _counter = counter;
     _clientIdentifierProvider = clientIdentifierProvider;
     _limitPerHour             = limitPerHour;
 }
Example #2
0
 /// <summary>
 /// Adds custom client identifier provider.
 /// </summary>
 /// <param name="clientIdentifierProvider">
 /// The implementation of <see cref="IClientIdentifierProvider"/> interface.
 /// </param>
 /// <exception cref="ArgumentNullException"></exception>
 public void AddClientIdentifierProvider(IClientIdentifierProvider clientIdentifierProvider)
 {
     ClientIdentifierProviders.Add(clientIdentifierProvider ?? throw new ArgumentNullException(nameof(clientIdentifierProvider)));
 }