Skip to content

RateLimitOptions

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

optional headers: boolean

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

Whether to include X-RateLimit headers in the response


optional keyGenerator: (ctx) => string

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

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.

ShokupanContext

string


optional limit: number

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

Alias for max


optional max: number

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

Maximum number of requests allowed in the window


optional message: string | object | (ctx, key) => string | object

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

Message to send when rate limited


optional mode: "user" | "absolute"

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

Mode to use for rate limiting

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

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

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

Function to execute when a request is rate limited

ShokupanContext

string

void | Response | Promise<void | Response>


optional skip: (ctx) => boolean

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

Function to determine whether to skip rate limiting

ShokupanContext

boolean


optional statusCode: number

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

Status code to send when rate limited


optional trustedProxies: string[]

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

List of trusted proxy IPs


optional windowMs: number

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

Window in milliseconds