@jojoee/nestjs-rate-limiter
Version:
Highly configurable rate limiter library
18 lines (17 loc) • 765 B
TypeScript
import { Reflector } from '@nestjs/core';
import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
import { RateLimiterAbstract } from 'rate-limiter-flexible';
import { RateLimiterOptions } from './rate-limiter.interface';
export declare class RateLimiterInterceptor implements NestInterceptor {
private options;
private readonly reflector;
private rateLimiters;
private specificOptions;
private queueLimiter;
constructor(options: RateLimiterOptions, reflector: Reflector);
getRateLimiter(options?: RateLimiterOptions): Promise<RateLimiterAbstract>;
intercept(context: ExecutionContext, next: CallHandler): Promise<any>;
private httpHandler;
private setResponseHeaders;
private responseHandler;
}