UNPKG

@canmertinyo/rate-limiter-core

Version:

A simple rate-limiting middleware for Express.js with support for in-memory, Redis, and MongoDB storage

14 lines (12 loc) 465 B
import { RateLimitRecord } from "./rate-limit-record.interface"; export interface RateLimiter { initialize(): Promise<RateLimiter>; getRateLimitRecord(key: string): Promise<RateLimitRecord | undefined>; createRateLimitRecord(record: RateLimitRecord): Promise<RateLimitRecord>; updateRateLimitRecord( key: string, timestamp: number, count: number ): Promise<RateLimitRecord>; increment(key: string): Promise<RateLimitRecord>; }