UNPKG

limiter.js

Version:

limiter.js is a Node.js/TypeScript library that provides simple Rate limiter protection for Express applications. It tracks requests per IP address and enforces rate limits within a sliding time window. If an IP exceeds the allowed requests, limiter.js ca

19 lines (18 loc) 598 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.expressGuardMiddleware = void 0; const expressGuardMiddleware = (detector) => (req, res, next) => { const ip = req.ip || req.connection.remoteAddress || "unknown"; const result = detector.handleRequest(ip); detector.logIPStatus(ip); if (result.blocked) { res.status(429).send({ error: "Too many requests", reason: result.reason || "Rate limit exceeded", }); } else { next(); } }; exports.expressGuardMiddleware = expressGuardMiddleware;