Function: rateLimit()
rateLimit(
__namedParameters):Middleware
Defined in: rateLimit.ts:96
Koa middleware over createRateLimiter: a request over the limit is
answered 429 through ctx.throw, carrying Retry-After, so an error
middleware using toHttpError and applyHttpErrorHeaders keeps both.
Every response carries RateLimit-Limit, RateLimit-Remaining and
RateLimit-Reset (seconds until the window ends). A key returning
undefined skips the limit for that request.
When the key or the limit is only known inside the handler, use
createRateLimiter directly.
Parameters
| Parameter | Type | Description |
|---|---|---|
__namedParameters | { key: (ctx) => string | undefined; limit: number | ((ctx) => number); message?: string; now?: () => number; windowMs: number; } | - |
__namedParameters.key | (ctx) => string | undefined | - |
__namedParameters.limit | number | ((ctx) => number) | - |
__namedParameters.message? | string | - |
__namedParameters.now? | () => number | Clock, for tests. |
__namedParameters.windowMs | number | - |
Returns
Middleware