Basic Rate Limiting
Quick Setup
from app.middleware.rate_limit import RateLimitMiddleware
# Basic rate limiting - 100 requests per minute
rate_limiter = RateLimitMiddleware(
max_requests=100,
window_seconds=60
)
# Apply to a route
router.on("api/{endpoint}",
ApiController.handle,
middleware=[rate_limiter])Configuration Options
Basic Parameters
Common Configurations
API Endpoints
IoT Device Data
Public Endpoints
Understanding Rate Limiting
How It Works
Rate Limit Response
Context Information
Storage Backends
Redis Backend (Recommended)
Memory Backend (Fallback)
Error Handling
Custom Error Messages
Graceful Degradation
Monitoring Rate Limits
Logging
Context Information
Testing Rate Limits
Unit Testing
Integration Testing
Performance Considerations
Key Generation Efficiency
Redis Connection Pooling
Memory Usage
Common Use Cases
API Rate Limiting
Device Telemetry
Public Endpoints
Troubleshooting
Common Issues
Debug Logging
Next Steps
Last updated