UNPKG

cds-rate-limit

Version:

enabled rate limit pattern for CAP NodeJS Runtime

19 lines 917 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.provisionRateLimiter = void 0; const rate_limiter_flexible_1 = require("rate-limiter-flexible"); const limiters = new Map(); const provisionRateLimiter = (options) => { if (!limiters.has(options.keyPrefix)) { switch (options.impl) { case "redis": // fallback to in memory rate limiter when redis is not available limiters.set(options.keyPrefix, new rate_limiter_flexible_1.RateLimiterRedis(Object.assign({}, options, { insuranceLimiter: new rate_limiter_flexible_1.RateLimiterMemory(options) }))); default: limiters.set(options.keyPrefix, new rate_limiter_flexible_1.RateLimiterMemory(options)); } } return limiters.get(options.keyPrefix); }; exports.provisionRateLimiter = provisionRateLimiter; //# sourceMappingURL=limiters.js.map