Loading
Commits on Source 44
-
Tiago authored
and only run rbs tests for ruby 4 and only add pstore do explicit depset in ruby 4, when it leaves the standard gems pack
-
Tiago authored
these get frozen after the first TLS connection attempt performed inside an SSLSocket. This is circumvented by passing the same proc at init instead, which then points at an internal ivar which can be changed.
-
Tiago authored
-
Tiago authored
rbs logger is ractor-unfriendly
-
Tiago authored
-
Tiago authored
-
Tiago authored
the next version of http-2 will support a :closing state, which for all the functionality supported by httpx should behave as :closed. `#closed?` returns true for both states, so should be the correct wethod to query.
-
Tiago authored
-
Tiago authored
the expires at may only be calculated after the token has been generated, specially in situations where the token carries that information and expires_at calls a callback to fetch it
-
Tiago authored
init_time could be calculated at any point during a reconnection, which could happen before it'd be back to the pool, thereby potentially leaving to open a window for it, and account millisecond requests as having taken hours.
-
Tiago authored
this may happen as part of error handling; without this, the resolver may be left in an inconsistent state where it's open but has no io, which breaks selection across the board.
-
Tiago authored
there seems to be an issue using registry images in CI.
-
Tiago authored
-
Tiago authored
when it's dynamic. this should tell the end user whether it should check for existing token freshness or force generation of the token, to avoid cases where the former may suffer from clock skew and has already failed once despite being considered fresh. it's always true on the retry of the first (or the single) request of the batch, false otherwise.
-
Tiago authored
-
Tiago authored
this caused issues during after fork callbacks, where socket raised an error when writing the termination handshake to, leaving the child process in a corrupt state
-
Tiago authored
-
Tiago authored
this is so that they do not retain it when going back to the pool, because as they're checked back out, the requests sent through it may set its own init_time with that timestamp, which is quite far back in time also, probe-close spans in datadog on reset, just in case they're left behind
-
Tiago authored
in order not to trigger a retry if using the persistent session in tests
-
Tiago authored
without this, it was possible to abuse calls and just pass anything, which would be silenty ignored
-
Tiago authored
if the request came right after a ping, and the error was a ping timeout error, then the retry should be immediate. previously, this error wasn't marked as a reconnectable error, so it was skipped.
-
Tiago authored
-
Tiago authored
in http/1.1 connections, the ping path is skipped, and instead, the connection is reconnected, so the request goes through a fresh connection. however, the ping timeout timer was still being set, and could effectively fail a response still waiting for a valid request
-
Tiago authored
response can be anything, including a webmock response
-
Tiago authored
the proxy plugin already has a conditional plugin for retries, so it best lives there
-
Tiago authored
anything else should just fail hard
-
Tiago authored
persistent: allow certain errors (like http2 goaway error) to be retried without affecting request attempts these errors are a known clean message from the peer to reattempt; this fixes an issue where, if multiple stale connections are in the pool, and a request gets attempted on them, and it'd fail on them with the same error, then it'd fail without ever having a clean attempt this allows probing all of them, until a fresh one is found or a new one is created, and then it'd manage to get a fair attempt
-
Tiago authored
this is so that they do not retain it when going back to the pool, because as they're checked back out, the requests sent through it may set its own init_time with that timestamp, which is quite far back in time. also, probe-close spans in datadog on reset, just in case they're left behind
-
Tiago authored
-
Tiago authored
being a tad bit more accurate
-
Tiago authored
for friendly object shape
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
this avoids the emission of the response event two times in the error case, and allows the follow request to just return cleanly, as it has a response
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
-
Tiago authored
the approach of erroring on something people have been accidentally relying on is too strict in hindsight for a patch version. this was reverted, and instead, a deprecation warning will be printed, to give time for folks to migrate. the format of options messages (exceptions and warnings) also slightly changes to wrap the option in quotes, for proper highlighting.
-
Tiago authored