HoneyryderChuck
29bf2bd8c0
applying the visitor pattern for the tracing instead
2021-01-03 14:59:30 +00:00
HoneyryderChuck
a0da7163ed
native resolver: on reconnect, do not resolve if there's nothing to resolve
2021-01-02 17:53:08 +00:00
HoneyryderChuck
7b27560c06
increased the surface of datadog tests (+comments)
...
* tests when tracer is disabled
* tests distributed headers thoroughly
* tests multiple requests spans
* per host / split by domain
2021-01-02 17:53:08 +00:00
HoneyryderChuck
9936deee55
added the datadog integration via a plugin
2021-01-02 16:02:04 +00:00
HoneyryderChuck
724f5aed64
comments and removing unnnecessary fixtures
2021-01-02 15:52:48 +00:00
HoneyryderChuck
f7abd432c7
always use the session default options
2021-01-02 03:19:34 +00:00
HoneyryderChuck
d49f313da1
rewrote the webmock integration to use plugins
2021-01-02 03:19:09 +00:00
HoneyryderChuck
187da97987
added a test for webmock with mixed (mocked and real) requests
2021-01-01 18:56:50 +00:00
HoneyryderChuck
65df8b1671
added the webmock adapter
2021-01-01 16:56:36 +00:00
HoneyryderChuck
dbc12a91b5
importing tests from webmock
2021-01-01 16:56:36 +00:00
HoneyryderChuck
1313478f6c
added test for dns timeouts, which uncovered a bug.
...
There were errors inn the code handling the retries. This has been dealt
with, along with a new exception (HTTPX::ResolveTimeoutError)
2020-12-24 12:38:14 +00:00
HoneyryderChuck
d6465ce433
by passing arity to curry calls, methods can be type-checked now
2020-12-19 00:26:05 +00:00
HoneyryderChuck
00f8c52c93
bumping version to 0.10.2
2020-12-10 19:24:52 +00:00
HoneyryderChuck
949eba09d5
fix bug when the multipart for has more than one top-level param
2020-12-10 19:20:17 +00:00
HoneyryderChuck
1786d7cc13
bumping version to 0.10.1
2020-12-10 15:50:09 +00:00
HoneyryderChuck
65f5e86f3f
allowing nested params also when posting multipart requests
2020-12-10 13:46:57 +00:00
HoneyryderChuck
0bb18ad500
added urlformencoder which encodes form data the way rack is used to, when nested
2020-12-10 01:07:18 +00:00
HoneyryderChuck
0afe278fd4
added more information about the http error into the exception log
2020-12-10 00:01:49 +00:00
HoneyryderChuck
7bd9f9a33f
typing the connection pool
2020-12-08 16:47:39 +00:00
HoneyryderChuck
392dadcb78
typing the connection parsers
2020-12-07 17:46:45 +00:00
HoneyryderChuck
4c61c524ed
removing resolver options object, using plain hashes instead
2020-12-02 02:03:03 +00:00
HoneyryderChuck
6fbd8da838
simplified refined IO#wait, as it's designed for a certain niche feature
2020-12-02 01:30:38 +00:00
HoneyryderChuck
d3a6edeecb
fixed socks4a handshake while adding more socks4 tests
...
the packet wasn't being well formed in certain situations. Also, raised
restrictions for IPv6 addresses, as hton is implemented in more recent
rubies for them as well.
2020-12-02 01:30:38 +00:00
HoneyryderChuck
b83d52a284
deprecating HTTPX.plugins officially
2020-12-02 01:30:38 +00:00
HoneyryderChuck
282dff83cb
reworking resolver error tests, making resolver resilient to wrong record types from user
2020-12-02 01:30:38 +00:00
HoneyryderChuck
7a5eaa3795
using the same strategy when exiting early from unexpected dns errors
...
there was a :resolve_error already in place for this. this extends the
same strategy for https and native resolvers, thereby fixing potential
bugs.
2020-12-02 01:30:38 +00:00
HoneyryderChuck
c98d568e07
fixed some bugs from the https resolver while improving coverage
...
* it now fails hard if the dns server is a domain and it's not
resolvable;
* it properly handles retries for other record types (p.ex. when A query
fails, and AAAA follows);
2020-12-02 01:30:38 +00:00
HoneyryderChuck
3bf3223c60
fixing another loop error when proxy needs to be resolved, by resolving
...
fails
While adding yet another test, an edge case was found where a proxy had
to be resolved, but when the resolving failed, the process wasn't
recovering from it.
2020-11-30 12:16:36 +00:00
HoneyryderChuck
6734bedfb0
this check isn't necessary anymore (I already know what cause the issue this guard was here for)
2020-11-27 13:48:05 +00:00
HoneyryderChuck
035eda1f95
fixed another loop caused by certain connection goaway frames from
...
server not being processed
While introducing yet another test to catch frame processing errors, in
this case with the SETTINGS_TIMEOUT error, another loop was found. It
was caused by two reasons:
* connection was signaling it was "closing" on such an error, which is
not really true (server already closed the stream, so no need to
close it again); it should be marked as closed instead.
* write buffer was still full (with the handshake in this case), so the
connection was still trying to write;
2020-11-27 13:47:36 +00:00
HoneyryderChuck
e6c9bb4714
fix: http/1.1 recover from connection exhausted
...
While adding the test, the code to recover from an exhausted HTTP/1.1
connection proved not to be reliable, as it wasn't taking inflight
requests nor update-once keep-alive max requests counters into
account.
This has been fixed by implementing our own test dummy using
webrick.
2020-11-26 20:11:30 +00:00
HoneyryderChuck
7f9e68ba3b
fixed: session hangs when HTTP/2 receives a 421
...
While adding a test, a bug was found, where an HTTP/2 connection
receiving a 421 response wasn't redirecting the request well to an
HTTP/1.1 one. This has been fixed by changing the way a new connection
is instantiated.
2020-11-26 17:13:02 +00:00
HoneyryderChuck
322aa06f22
added a test for when an http/2 connection exhausts and a second connection has to be established
2020-11-26 17:12:09 +00:00
HoneyryderChuck
8f022c43ea
bumped to 0.10.0
2020-11-25 17:57:32 +00:00
HoneyryderChuck
3688e56640
ensuring that the yielded chunks are strings
2020-11-24 17:21:01 +00:00
HoneyryderChuck
742d877c76
added #each_line method to stream response
2020-11-24 00:42:52 +00:00
HoneyryderChuck
3ca0b44e29
implementing the stream response
2020-11-24 00:42:38 +00:00
HoneyryderChuck
a650e622ca
do not close the connection pool, if there's nothing to close
2020-11-22 22:32:38 +00:00
HoneyryderChuck
7e26c86dc1
really closing a response (won't buffer stuff anymore after being closed)
2020-11-22 15:55:44 +00:00
HoneyryderChuck
047875864b
closing the response when not carrying it forward
2020-11-22 15:55:44 +00:00
HoneyryderChuck
fecdd120f8
fixing h2c by not calling the #to_s from response, which now touches the pool in such conditions; we want to flush the buffer, so that's what we do
2020-11-22 15:55:43 +00:00
HoneyryderChuck
b5a971b03b
unnecessary var
2020-11-19 09:44:55 +00:00
HoneyryderChuck
c8663e52ee
do not show IDN message for normal ascii hostnames
2020-11-19 09:44:43 +00:00
HoneyryderChuck
777ab21050
making WRITE/READ more accurate by emitting them at the socket (UDP/TCP) level
2020-11-19 09:44:29 +00:00
HoneyryderChuck
24088decf3
fixing rubocop for remaining ruby versions
2020-11-07 16:55:23 +00:00
HoneyryderChuck
ea4ac5bfb9
fix constant usage
2020-11-07 16:17:46 +00:00
HoneyryderChuck
2d078de0a4
non-ascii: force utf8 encoding for all
2020-11-07 16:12:04 +00:00
HoneyryderChuck
b47b9de745
for unescaping of non ascii domain to binary (JRuby converts to UTF-8)
2020-11-07 15:46:08 +00:00
HoneyryderChuck
8f495f37d2
avoid using URI.escape directly
2020-11-07 15:36:21 +00:00
HoneyryderChuck
86f1db5bf0
disabling IDN support for ruby < 2.3
2020-11-07 15:36:21 +00:00