salvo-rate-limiter
Salvo Rate Limiting
[dependencies]
salvo = { version = "0.89.3", features = ["rate-limiter"] }
Components
A RateLimiter combines four pieces:
| Component | Purpose | Built-ins |
|---|---|---|
RateIssuer |
Identify client | RemoteIpIssuer, RealIpIssuer |
RateGuard |
Limiting algorithm | FixedGuard (needs BasicQuota), SlidingGuard (needs CelledQuota) |
RateStore |
Persist state | MokaStore |
QuotaGetter |
Lookup quota for key | any Clone Quota, or custom impl |
Fixed Window by IP
More from salvo-rs/salvo-skills
salvo-realtime
Implement real-time features using WebSocket and Server-Sent Events (SSE). Use for chat applications, live updates, notifications, and bidirectional communication.
17salvo-csrf
Implement CSRF (Cross-Site Request Forgery) protection using cookie or session storage. Use for protecting forms and state-changing endpoints.
17salvo-auth
Implement authentication and authorization using JWT, Basic Auth, or custom schemes. Use for securing API endpoints and user management.
16salvo-websocket
Implement WebSocket connections for real-time bidirectional communication. Use for chat, live updates, gaming, and collaborative features.
16salvo-proxy
Implement reverse proxy to forward requests to backend services. Use for load balancing, API gateways, and microservices routing.
16salvo-cors
Configure Cross-Origin Resource Sharing (CORS) and security headers. Use for APIs accessed from browsers on different domains.
16