Skip to content

RateLimitOptions

Defined in: src/plugins/middleware/rate-limit.ts:4

Property Type Description Defined in

cleanupInterval?

number

Interval in milliseconds to clean up expired entries. Defaults to windowMs.

src/plugins/middleware/rate-limit.ts:57

headers?

boolean

Whether to include X-RateLimit headers in the response

src/plugins/middleware/rate-limit.ts:28

keyGenerator?

(ctx) => string

Function to generate a unique key for each request This is used to identify the user or source of the request Defaults to the request’s ip address.

src/plugins/middleware/rate-limit.ts:34

limit?

number

Alias for max

src/plugins/middleware/rate-limit.ts:16

max?

number

Maximum number of requests allowed in the window

src/plugins/middleware/rate-limit.ts:12

message?

string | object | (ctx, key) => string | object

Message to send when rate limited

src/plugins/middleware/rate-limit.ts:20

mode?

"user" | "absolute"

Mode to use for rate limiting

  • user: Rate limit per user (generated key, defaults to ip address)
  • absolute: Rate limit for all users

src/plugins/middleware/rate-limit.ts:48

onRateLimited?

(ctx, key) => void | Response | Promise<void | Response>

Function to execute when a request is rate limited

src/plugins/middleware/rate-limit.ts:38

skip?

(ctx) => boolean

Function to determine whether to skip rate limiting

src/plugins/middleware/rate-limit.ts:42

statusCode?

number

Status code to send when rate limited

src/plugins/middleware/rate-limit.ts:24

trustedProxies?

string[]

List of trusted proxy IPs

src/plugins/middleware/rate-limit.ts:52

windowMs?

number

Window in milliseconds

src/plugins/middleware/rate-limit.ts:8