nest-ratelimiter
Version:
Distributed consistent flexible NestJS rate limiter based on Redis
18 lines • 764 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setHeaders = setHeaders;
/**
* Set headers for response
* @param response - expressjs `response` object or fastify `response.raw` object
* @param limiterInfo - `LimiterInfo` object from `ratelimiter`
*/
function setHeaders(response, limiterInfo) {
const prevRemaining = response.getHeader('X-RateLimit-Remaining');
if (typeof prevRemaining === 'number' &&
prevRemaining < limiterInfo.remaining)
return;
response.setHeader('X-RateLimit-Limit', limiterInfo.total);
response.setHeader('X-RateLimit-Remaining', limiterInfo.remaining - 1);
response.setHeader('X-RateLimit-Reset', limiterInfo.reset);
}
//# sourceMappingURL=set-headers.fn.js.map