express-rate-limit-ioredis-store
Version:
A redis store implementation to be used alongside ioredis for the express-rate-limit middleware
20 lines (19 loc) • 632 B
TypeScript
import { IncrementResponse, Options, Store } from 'express-rate-limit';
import Redis from 'ioredis';
declare type RedisStoreOptions = {
globalPrefix?: string;
client: Redis.Redis;
};
export default class ExpressRateLimitIORedisStore implements Store {
private client;
private globalPrefix;
private windowMs;
constructor({ globalPrefix, client }: RedisStoreOptions);
init(options: Options): void;
increment(key: string): Promise<IncrementResponse>;
decrement(key: string): Promise<void>;
resetKey(key: string): Promise<void>;
private getFullKey;
private getInsertionTime;
}
export {};