Loading
Commits on Source 33
-
Tiago authored
Co-authored-by:Will Cosgrove <will@cosgrove.email>
-
Tiago authored
increasing the number of workers in httpbin and nghttp2 significantly.
-
Tiago authored
the proxy has been terminating sockets before the test can succeed when ran in parallel and sharing connections.
-
Tiago authored
-
Tiago authored
-
When a streaming request fails and is retried, the request transitions back to :idle state. Previously, @headers_sent was not reset during this transition, causing the :body callback to fire prematurely on retry. This resulted in nested handle() calls that crashed with HTTP2::Error::InternalError because the stream was already in half_closed_local state. This fix resets @headers_sent to false when transitioning to :idle, ensuring a clean slate for retry attempts. Fixes #124
🤖 Generated with [Claude Code](https://claude.com/claude-code ) Co-Authored-By:Claude Opus 4.5 <noreply@anthropic.com> test(stream_bidi): add integration test for retry after headers sent Replace unit tests with proper integration test that verifies the actual behavior: streaming requests succeed on retry after connection failure (GOAWAY). Adds BidiFailOnce servlet that: - First stream: sends response headers, then GOAWAY (simulating failure) - Second stream: works normally like Bidi The test verifies that without the fix, HTTP2::Error::InternalError occurs due to @headers_sent not being reset on retry. Related to #124
🤖 Generated with [Claude Code](https://claude.com/claude-code ) Co-Authored-By:Claude Opus 4.5 <noreply@anthropic.com>
-
Tiago authored
as it's difficult to support anything else ATM, and there's no real use case
-
Tiago authored
-
Tiago authored
the loop to drop timers was running two times in a row for #fire calls, which could inadvertedly drop timers which didn't elapsed at that point (potentially an issue when observing multiple connections at once).
-
Tiago authored
-
Tiago authored
if there is nothing to select and all selectables were popped, treat it as a sign to sleep
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
this refactors the god-object approach relying on HTTPX::Resolver and its helpers managing state, into an adapter layer on the HTTPX::Resolver::Cache namespace, for which a memory adapter, which implements the current default behaviour of in-memory LRU cache, was added. Other future adapters will have to implement the same API. The cache is accessible via the options object `resolver_cache` method, which accepts `:memory` by default, but can also be given a custom cache object which implements the cache API. This also fixes an issue whereby resolver cache access within a non main ractor was not thread-safe. Closes #368
-
Tiago authored
-
Earlopain authored
``` irb(main):001> require "httpx" /home/user/code/httpx/lib/httpx/options.rb:461: warning: method redefined; discarding old option_resolver_class /home/user/code/httpx/lib/httpx/options.rb:407: warning: previous definition of option_resolver_class was here ```
-
HoneyryderChuck authored
Fix duplicate method warning when requiring httpx See merge request !429
-
Tiago authored
-
Tiago authored
-
Tiago authored
also renamed repeatable_request? to retryable_request?
-
Tiago authored
this bypasses the change_requests check, as it's assumed that the next request with a refreshed token will succeed git add lib -p
-
Tiago authored
the new helper method allows fixing a long standing issue, as the change_requests set to true was a hack that could be dangerous, and the tretry_on callback could be overridden by the end user
-
Tiago authored
-
Tiago authored
this prevents a busy loop on connection
-
HoneyryderChuck authored
Auth plugin: Retry on 401 errors See merge request !430
-
Tiago authored
-
Tiago authored