@developers-joyride/rate-limiter
Version:
A flexible rate limiting library with TypeScript support, Express middleware, and NestJS guard/interceptor capabilities
31 lines (30 loc) • 1.05 kB
TypeScript
import { Request, Response, NextFunction } from "express";
import { RateLimiterConfig, ExpressRateLimiter, RateLimitResult } from "../interfaces/rate-limiter.interface";
export declare class ExpressRateLimiterMiddleware implements ExpressRateLimiter {
private service;
constructor(config: RateLimiterConfig);
/**
* Check if a request is allowed based on rate limiting rules
*/
checkLimit(req: Request): Promise<RateLimitResult>;
/**
* Express middleware function
*/
middleware(): (req: Request, res: Response, next: NextFunction) => Promise<void>;
/**
* Reset rate limit for a specific key
*/
resetLimit(key: string): Promise<void>;
/**
* Get current rate limit info for a key
*/
getLimitInfo(key: string): Promise<import("../interfaces/rate-limiter.interface").RateLimitInfo | null>;
/**
* Close the service connection
*/
close(): Promise<void>;
/**
* Get the current configuration
*/
getConfig(): Required<RateLimiterConfig>;
}