Expand description
Rate limiter middleware for Salvo.
Rate Limiter middleware is used to limiting the amount of requests to the server from a particular IP or id within a time period.
RateIssuer is used to issue a key to request, your can define your custom RateIssuer.
If you want just identify user by IP address, you can use RemoteIpIssuer.
QuotaGetter is used to get quota for every key.
RateGuard is strategy to verify is the request exceeded quota.
Read more: https://salvo.rs
Structs§
- Basic
Quota - A basic quota.
- Celled
Quota - A common used quota has cells field.
- Fixed
Guard fixed-guard - Fixed window implement.
- Moka
Store moka-store - A simple in-memory store for rate limiter.
- Rate
Limiter RateLimiteris the main struct to used limit user request.- Remote
IpIssuer - Identify user by IP address.
- Sliding
Guard sliding-guard - Sliding window implement.
Traits§
- Quota
Getter - Used to get quota and you can config users’ quota config in database.
- Rate
Guard RateGuardis strategy to verify is the request exceeded quota- Rate
Issuer - Issuer is used to identify every request.
- Rate
Store RateStoreis used to store rate limit data.