CircuitBreakerConfig
Defined in: src/policies/resilience/circuit-breaker.ts:120
Base configuration shared by all policies
Extends
Section titled “Extends”Properties
Section titled “Properties”failureOn?
Section titled “failureOn?”
optionalfailureOn:number[]
Defined in: src/policies/resilience/circuit-breaker.ts:128
Status codes considered failures. Default: [500, 502, 503, 504].
failureThreshold?
Section titled “failureThreshold?”
optionalfailureThreshold:number
Defined in: src/policies/resilience/circuit-breaker.ts:122
Number of failures before opening the circuit. Default: 5.
halfOpenMax?
Section titled “halfOpenMax?”
optionalhalfOpenMax:number
Defined in: src/policies/resilience/circuit-breaker.ts:126
Max concurrent probes allowed in half-open state. Default: 1.
key()?
Section titled “key()?”
optionalkey: (c) =>string
Defined in: src/policies/resilience/circuit-breaker.ts:132
Key extractor. Default: request URL pathname.
Parameters
Section titled “Parameters”Context
Returns
Section titled “Returns”string
onStateChange()?
Section titled “onStateChange()?”
optionalonStateChange: (key,from,to) =>void|Promise<void>
Defined in: src/policies/resilience/circuit-breaker.ts:145
Callback invoked on every state transition.
Called via safeCall so errors are swallowed — a failing callback
never blocks traffic. Useful for metrics, logging, or alerting.
Parameters
Section titled “Parameters”string
The circuit key that transitioned.
The previous circuit state.
The new circuit state.
Returns
Section titled “Returns”void | Promise<void>
openStatusCode?
Section titled “openStatusCode?”
optionalopenStatusCode:number
Defined in: src/policies/resilience/circuit-breaker.ts:134
HTTP status code when the circuit is open. Default: 503.
resetTimeoutMs?
Section titled “resetTimeoutMs?”
optionalresetTimeoutMs:number
Defined in: src/policies/resilience/circuit-breaker.ts:124
Time in ms before transitioning from open → half-open. Default: 30000.
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”store?
Section titled “store?”
optionalstore:CircuitBreakerStore
Defined in: src/policies/resilience/circuit-breaker.ts:130
Storage backend. Default: InMemoryCircuitBreakerStore.