Function: rateLimiter()
rateLimiter(
customLimits?):MiddlewareHandler<ChiveEnv>
Defined in: src/api/middleware/rate-limit.ts:191
Rate limiting middleware factory.
Parameters
customLimits?
Partial<Record<RateLimitTier, number>>
Optional custom limits per tier
Returns
MiddlewareHandler<ChiveEnv>
Hono middleware handler
Remarks
Creates middleware that enforces tiered rate limits:
- Determines tier from authenticated user or falls back to anonymous
- Uses IP for anonymous, DID for authenticated users
- Sets standard rate limit headers on all responses
- Throws RateLimitError when limit exceeded
Example
// Apply to all routes
app.use('*', rateLimiter());
// Custom limits for specific routes
app.use('/api/heavy', rateLimiter({ anonymous: 10, authenticated: 50 }));