Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 7x 7x 7x 7x | import rateLimit from "express-rate-limit"; import { DependencyInjector } from "../../dependencyInjector"; import ILogger from "../../core/contracts/ILogger"; import { injectables } from "../../core/types/injectables"; export const limiter = rateLimit({ windowMs: 15 * 60 * 1000, // 15 minutes max: 100, // max 100 requests per windowMs handler: (req, res, next, options) => { const logger = DependencyInjector.Singleton.resolve<ILogger>(injectables.ILogger); logger.warn(`Rate limit reached`, { ip: req.ip, path: req.path }); res.status(options.statusCode).end(options.message); } }); |