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 quotaIssuer is used to identify every request.
RateStore
is used to store rate limit data.