stefanprodan / WebApiThrottle

ASP.NET Web API rate limiter for IIS and Owin hosting

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fine grained control

dmarlow opened this issue · comments

I would like to be able to define more fine grained policies. For example, having a global of 20 requests per minute, while also being able to increase the limit for a given client or IP on a specific endpoint to 100 per minute. If I'm not mistaken, this doesn't exist (please correct me if I'm wrong). I can work on a PR unless someone is doing something similar.

I believe you can use the "rules" to specify such type of configuration.

https://github.com/stefanprodan/WebApiThrottle#ip-andor-client-key-custom-rate-limits

Let's say I have two endpoints (A and B) and two clients "Bob" and "Alice". How do I saw "Bob" can call endpoint "A" at a rate of 30 times per minute while "Alice" can only do 10 per minute. Doing all of this while having special, and custom rules for endpoint B?

By the looks of the documentation, I can only do: Bob has x rate over y period over ALL endpoints. Or, I can specify an endpoint rule for ALL clients.
What I can't do is: Bob has x rate over y period in z endpoint.