RateLimitConfig
Defined in: src/policies/traffic/rate-limit.ts:12
Configuration for the rateLimit policy.
Extends
Section titled “Extends”Properties
Section titled “Properties”ipHeaders?
Section titled “ipHeaders?”
optionalipHeaders: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"].
keyBy()?
Section titled “keyBy()?”
optionalkeyBy: (c) =>string|Promise<string>
Defined in: src/policies/traffic/rate-limit.ts:18
Key extractor — determines the rate limit bucket. Default: client IP.
Parameters
Section titled “Parameters”Context
Returns
Section titled “Returns”string | Promise<string>
max:
number
Defined in: src/policies/traffic/rate-limit.ts:14
Maximum requests per window
message?
Section titled “message?”
optionalmessage:string
Defined in: src/policies/traffic/rate-limit.ts:24
Custom response body when limited
skip()?
Section titled “skip()?”
optionalskip: (c) =>boolean|Promise<boolean>
Defined in: src/policies/types.ts:33
Skip this policy when condition returns true
Parameters
Section titled “Parameters”unknown
Returns
Section titled “Returns”boolean | Promise<boolean>
Inherited from
Section titled “Inherited from”statusCode?
Section titled “statusCode?”
optionalstatusCode:number
Defined in: src/policies/traffic/rate-limit.ts:22
Response status code when limited. Default: 429.
store?
Section titled “store?”
optionalstore:RateLimitStore
Defined in: src/policies/traffic/rate-limit.ts:20
Storage backend for counters
windowSeconds?
Section titled “windowSeconds?”
optionalwindowSeconds:number
Defined in: src/policies/traffic/rate-limit.ts:16
Time window in seconds. Default: 60.