Commit 208c6cc
committed
feat: Enhanced rate limiting system
Implements issue #15 - API Rate Limiting
Features:
- Multi-tier rate limiting:
- Global rate limiting across all clients
- Per-IP rate limiting
- Per-user/API key rate limiting
- Per-endpoint rate limiting with custom limits
- Configurable limits per endpoint:
- Health check: 600/min (permissive)
- Search: 60/min (moderate)
- Create server: 30/min (strict)
- Delete server: 10/min (very strict)
- Security tests: 10/min (resource intensive)
- Auth login: 20/min (brute force prevention)
- Auth register: 10/min (spam prevention)
- Rate limit response headers:
- X-RateLimit-Limit
- X-RateLimit-Remaining
- X-RateLimit-Reset
- Retry-After
- Memory management:
- Automatic cleanup of stale entries
- Configurable TTL for entries
- Stats endpoint for monitoring
- Management API:
- GET /api/v1/rate-limit/stats
- GET /api/v1/rate-limit/config
- PUT /api/v1/rate-limit/config
Closes #151 parent 8de1caa commit 208c6cc
1 file changed
+609
-0
lines changed
0 commit comments