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.
Structs
- A basic quota.
- A common used quota has cells field.
- FixedGuard
fixed-guard
Fixed window implement. - MemoryStore
memory-store
A simple in-memory store for rate limiter. RateLimiter
is the main struct to used limit user request.- Identify user by IP address.
- SlidingGuard
sliding-guard
Sliding window implement.
Traits
QuotaGetter
is used to get quota. 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.