Skip to content

Retry immediate response statuses#66

Merged
fannnzhang merged 3 commits into
mainfrom
feature/response-status-retries
Jun 10, 2026
Merged

Retry immediate response statuses#66
fannnzhang merged 3 commits into
mainfrom
feature/response-status-retries

Conversation

@fannnzhang

@fannnzhang fannnzhang commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a ResponseRetryContext and default RetryPolicy::should_retry_response hook for response-driven follow-ups
  • retry replayable 408 Request Timeout responses and 503 Service Unavailable only when Retry-After is immediate
  • parse Retry-After delta seconds and HTTP dates, treating delayed, invalid, or duplicate values as caller-visible responses
  • document the response-status retry ordering and default behavior

Verification

  • cargo fmt --all -- --check
  • cargo test -p openwire retry_after -- --nocapture
  • cargo test -p openwire response_status_retries -- --nocapture
  • cargo test -p openwire request_timeout_response -- --nocapture
  • cargo test -p openwire service_unavailable -- --nocapture
  • cargo check --workspace --all-targets
  • cargo test --workspace --all-targets

…us-retries

# Conflicts:
#	README.md
#	crates/openwire/src/policy/follow_up.rs
…us-retries

# Conflicts:
#	README.md
#	crates/openwire/src/policy/follow_up.rs
#	docs/ARCHITECTURE.md
@fannnzhang
fannnzhang merged commit b5153e2 into main Jun 10, 2026
7 checks passed
@fannnzhang
fannnzhang deleted the feature/response-status-retries branch June 10, 2026 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant