Crate salvo_rate_limiter
source ·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§
- A basic 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. RateLimiter
is the main struct to used limit user request.- Identify user by IP address.
- Sliding
Guard sliding-guard
Sliding window implement.
Traits§
- Used to get quota and you can config users’ quota config in database.
RateGuard
is strategy to verify is the request exceeded quota- Issuer is used to identify every request.
RateStore
is used to store rate limit data.