UNPKG

express-rate-limit-ioredis-store

Version:

A redis store implementation to be used alongside ioredis for the express-rate-limit middleware

34 lines 1.2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = __importDefault(require("express")); const express_rate_limit_1 = __importDefault(require("express-rate-limit")); const http_1 = __importDefault(require("http")); const ioredis_1 = __importDefault(require("ioredis")); const ms_1 = __importDefault(require("ms")); const src_1 = __importDefault(require("../../src")); const limiter = (0, express_rate_limit_1.default)({ store: new src_1.default({ client: new ioredis_1.default('localhost:6379'), }), max: 10, windowMs: (0, ms_1.default)('3s'), handler: (_, res) => { return res.json({ error: 'Too many requests' }); }, }); function createServer() { const app = createApp(); return http_1.default.createServer(app); } exports.default = createServer; function createApp() { const app = (0, express_1.default)(); app.get('/', limiter, (_, res) => res.json({ message: 'No problems so far', })); return app; } //# sourceMappingURL=createServer.js.map