@the-node-forge/api-rate-limit
Version:
A simple and efficient API rate limiter for JavaScript/TypeScript applications
19 lines (18 loc) • 570 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.rateLimitMiddleware = void 0;
const HTTP_STATUS = {
TOO_MANY_REQUESTS: 429,
};
const rateLimitMiddleware = (limiter) => {
return (req, res, next) => {
const userId = req.ip || '';
if (!limiter.isAllowed(userId)) {
return res
.status(HTTP_STATUS.TOO_MANY_REQUESTS)
.json({ message: 'Too many requests, please try again later.' });
}
next();
};
};
exports.rateLimitMiddleware = rateLimitMiddleware;