@adonisjs/limiter
Version:
Rate limiting package for AdonisJS framework
22 lines (21 loc) • 874 B
TypeScript
import { RedisClusterConnection, type RedisConnection } from '@adonisjs/redis';
import RateLimiterBridge from './bridge.ts';
import type { LimiterRedisStoreConfig } from '../types.ts';
/**
* Redis-backed limiter store that persists rate limit data in Redis.
* Ideal for distributed applications running across multiple instances.
*
* Wraps the RateLimiterRedis implementation from rate-limiter-flexible.
*/
export default class LimiterRedisStore extends RateLimiterBridge {
#private;
get name(): string;
constructor(client: RedisConnection | RedisClusterConnection, config: LimiterRedisStoreConfig);
/**
* Flushes the Redis database to clear all rate limit data.
*
* **Warning**: This flushes the entire database. Use a dedicated Redis database
* for rate limiting to avoid clearing other data.
*/
clear(): Promise<void>;
}