UNPKG

@mark01/express-utils

Version:

npm package that contains utilities for express.js

18 lines (17 loc) 543 B
import expressSlowDown from 'express-slow-down'; import { RedisStore } from 'rate-limit-redis'; export const slowDown = (redis, delayAfter) => { return expressSlowDown({ store: new RedisStore({ prefix: 'sd-common:', sendCommand: (...args) => redis.call(...args), }), delayAfter, windowMs: 15 * 60 * 1000, delayMs: (used, req) => { const delayAfter = req.slowDown.limit; return (used - delayAfter) * 200; }, }); }; export default slowDown;