Retry Policy Example ​
Demonstrates client retry with exponential backoff. Shows RetryPolicy configuration including max_retries, initial_delay_ms, max_delay_ms, backoff_multiplier, and retry_on_status.
Demo Program ​
zig
const default = httpx.RetryPolicy{};
// max_retries, initial_delay_ms, backoff_multiplier, etc.
const no_retry = httpx.RetryPolicy.noRetry();
const aggressive = httpx.RetryPolicy.aggressive();
const custom = httpx.RetryPolicy{
.max_retries = 10,
.initial_delay_ms = 200,
.backoff_multiplier = 3.0,
.retry_on_status = &.{ 429, 500, 502, 503, 504 },
};
const delay = custom.calculateDelay(attempt);
const should = custom.shouldRetryStatus(503); // trueRun ​
zig build example-retry-exampleChecklist ​
- [x] Default retry policy has sensible defaults
- [x]
RetryPolicy.noRetry()disables all retries - [x]
RetryPolicy.aggressive()uses higher retry counts - [x] Exponential backoff doubles delay each attempt
- [x]
calculateDelayreturns correct backoff values - [x]
shouldRetryStatuschecks against configured status list - [x] Status 429 (rate limit) triggers retry
