Skip to content

Introduce Protocol::HTTP::RemoteError - #110

Merged
samuel-williams-shopify merged 1 commit into
mainfrom
add-remote-error
Jul 29, 2026
Merged

Introduce Protocol::HTTP::RemoteError#110
samuel-williams-shopify merged 1 commit into
mainfrom
add-remote-error

Conversation

@samuel-williams-shopify

Copy link
Copy Markdown
Contributor

Summary

  • Add Protocol::HTTP::RemoteError for failures originating at the remote endpoint.
  • Document that application processing may already have occurred.
  • Preserve protocol-specific detail through the standard exception cause chain at translation sites.

This provides a protocol-neutral exception for cases such as HTTP/2 RST_STREAM(INTERNAL_ERROR) and HTTP/3 H3_INTERNAL_ERROR. Higher-level clients can apply their own bounded retry policy while retaining the underlying stream error as Exception#cause. This is a prerequisite for addressing socketry/async-http#231; it does not itself change retry behavior.

Testing

  • sus test/protocol/http/error.rb — 9 passed, 15 assertions
  • sus — 743 passed, 1,509 assertions
  • rubocop lib/protocol/http/error.rb test/protocol/http/error.rb — no offenses

@samuel-williams-shopify
samuel-williams-shopify merged commit bcb58b1 into main Jul 29, 2026
34 of 40 checks passed
@samuel-williams-shopify
samuel-williams-shopify deleted the add-remote-error branch July 29, 2026 03:55
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