Optional
windowMs: number = ...Time window in milliseconds (default: 15 minutes)
Optional
max: number = 100Maximum number of requests per window (default: 100)
Express middleware function for rate limiting
// Create custom rate limiter for API endpoints
const apiLimiter = createRateLimiter(
60 * 1000, // 1 minute window
50 // 50 requests per minute
);
app.use('/api', apiLimiter);
Rate Limiter Factory Function
Creates configurable rate limiting middleware to protect against abuse and DoS attacks. This factory function generates express-rate-limit middleware instances with custom time windows and request limits. When limits are exceeded, the middleware responds with a standardized error format and logs the violation for security monitoring.
The rate limiter uses IP-based tracking and includes proper HTTP headers to inform clients about rate limit status. Failed requests are logged with IP address, user agent, and request details for security analysis.