UNPKG

@yveskaufmann/koa2-ratelimit

Version:

IP rate-limiting middleware for Koajs 2. Use to limit repeated requests to APIs and/or endpoints such as password reset.

30 lines 1.3 kB
/// <reference types="koa" /> import { RateLimitOptions } from "./Options"; import { Time } from "./Time"; export declare const DEFAULT_OPTIONS: RateLimitOptions; export declare class RateLimit { private options; private store; constructor(options: RateLimitOptions); static timeToMs(time: Time | number): number; keyGenerator(ctx: import("koa").Context): Promise<string>; weight(ctx: import("koa").Context): Promise<number>; skip(ctx: import("koa").Context): Promise<boolean>; getUserId(ctx: import("koa").Context): Promise<any>; handler(ctx: import("koa").Context, next?: import("koa").Next): Promise<void>; onLimitReached(ctx: import("koa").Context): Promise<void>; get middleware(): (ctx: import("koa").Context, next: import("koa").Next) => Promise<any>; private _rateLimit; private _isWhitelisted; getUserIdFromKey(key: string): string; wait(ms: number): Promise<void>; } export declare function middleware(options?: RateLimitOptions): import("koa").Middleware; export declare function defaultOptions(options?: RateLimitOptions): void; declare const _default: { RateLimit: typeof RateLimit; middleware: typeof middleware; defaultOptions: typeof defaultOptions; }; export default _default; //# sourceMappingURL=RateLimit.d.ts.map