UNPKG

@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
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>; }