Skip to content

RateLimitConfig

Defined in: src/policies/traffic/rate-limit.ts:12

Configuration for the rateLimit policy.

optional ipHeaders: string[]

Defined in: src/policies/traffic/rate-limit.ts:26

Ordered list of headers to inspect for the client IP (when keyBy is not set). Default: ["cf-connecting-ip", "x-forwarded-for"].


optional keyBy: (c) => string | Promise<string>

Defined in: src/policies/traffic/rate-limit.ts:18

Key extractor — determines the rate limit bucket. Default: client IP.

Context

string | Promise<string>


max: number

Defined in: src/policies/traffic/rate-limit.ts:14

Maximum requests per window


optional message: string

Defined in: src/policies/traffic/rate-limit.ts:24

Custom response body when limited


optional skip: (c) => boolean | Promise<boolean>

Defined in: src/policies/types.ts:33

Skip this policy when condition returns true

unknown

boolean | Promise<boolean>

PolicyConfig.skip


optional statusCode: number

Defined in: src/policies/traffic/rate-limit.ts:22

Response status code when limited. Default: 429.


optional store: RateLimitStore

Defined in: src/policies/traffic/rate-limit.ts:20

Storage backend for counters


optional windowSeconds: number

Defined in: src/policies/traffic/rate-limit.ts:16

Time window in seconds. Default: 60.