import rateLimit from 'express-rate-limit' /** * Per-endpoint rate limiters. Limits are per IP per hour. * Behind a reverse proxy (Caddy), `app.set('trust proxy', 1)` must be set * so the real client IP is used instead of the proxy IP. */ function makeLimiter(max, message) { return rateLimit({ windowMs: 60 * 60 * 1000, // 1 hour max, standardHeaders: true, legacyHeaders: false, message: { error: message }, }) } export const contactLimiter = makeLimiter(3, 'Zu viele Anfragen. Bitte versuche es später erneut.') export const talkRequestLimiter = makeLimiter(3, 'Zu viele Anfragen. Bitte versuche es später erneut.') export const newsletterLimiter = makeLimiter(5, 'Zu viele Anfragen. Bitte versuche es später erneut.') export const resourceLimiter = makeLimiter(10, 'Zu viele Anfragen. Bitte versuche es später erneut.')