| import rateLimit from 'express-rate-limit'; | |
| export const defaultLimiter = rateLimit({ | |
| windowMs: 60_000, | |
| max: 30, | |
| standardHeaders: true, | |
| legacyHeaders: false, | |
| message: { success: false, error: { code: 'RATE_LIMITED', message: 'Too many requests, please try again later.' } }, | |
| }); | |
| export const completionLimiter = rateLimit({ | |
| windowMs: 60_000, | |
| max: 60, | |
| standardHeaders: true, | |
| legacyHeaders: false, | |
| message: { success: false, error: { code: 'RATE_LIMITED', message: 'Too many completion requests.' } }, | |
| }); | |
| export const analyzeLimiter = rateLimit({ | |
| windowMs: 60_000, | |
| max: 10, | |
| standardHeaders: true, | |
| legacyHeaders: false, | |
| message: { success: false, error: { code: 'RATE_LIMITED', message: 'Too many analysis requests.' } }, | |
| }); | |