public RateLimitHttpClient( IHttpClient httpClient, IRateLimiter rateLimiter) { _httpClient = httpClient; _rateLimitPolicy = new AsyncRateLimitPolicy <HttpResponseMessage>(rateLimiter, (context, exception) => Task.CompletedTask); }
public RateLimitingMiddleware( RequestDelegate next, ILogger <ExceptionHandlingMiddleware> logger) { _next = next; _logger = logger; var rateLimiter = new RateLimiter(20, TimeSpan.FromSeconds(1), 10, TimeSpan.FromSeconds(3)); _rateLimitPolicy = new AsyncRateLimitPolicy(rateLimiter, (context, exception) => Task.CompletedTask); }
private static PolicyHandler CreateRateLimitHandler(IRateLimiter rateLimiter) { var rateLimitPolicy = new AsyncRateLimitPolicy <HttpResponseMessage>(rateLimiter, (context, exception) => Task.CompletedTask); return(new PolicyHandler(rateLimitPolicy)); }