1382 Commits

Author SHA1 Message Date
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
52a9a4c7fe Merge branch 'issue-105' into 'master'
added test for dns timeouts, which uncovered a bug.

Closes #105

See merge request honeyryderchuck/httpx!107
2020-12-24 15:05:09 +00:00
HoneyryderChuck
ce0c7c02cc installing webrick for ruby 3 (not default anymore); updating rubocop 2020-12-24 12:38:14 +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
f2a71a57c5 Merge branch 'auto-compact' into 'master'
Auto compact

See merge request honeyryderchuck/httpx!106
2020-12-19 01:22:52 +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
623ad7d50a enabling auto-compaction in GC 2020-12-18 18:16:01 +00:00
HoneyryderChuck
00f8c52c93 bumping version to 0.10.2 v0.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 v0.10.1 2020-12-10 15:50:09 +00:00
HoneyryderChuck
8cf0302a8e Merge branch 'issue-104' into 'master'
form params: nested params support

Closes #104

See merge request honeyryderchuck/httpx!105
2020-12-10 15:41: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
1904ba833e Merge branch 'moar-tests-moar-coverage' into 'master'
Moar tests, moar coverage, moar sigs

See merge request honeyryderchuck/httpx!104
2020-12-10 00:13:19 +00:00
HoneyryderChuck
0afe278fd4 added more information about the http error into the exception log 2020-12-10 00:01:49 +00:00
HoneyryderChuck
708f714dae using latest http-2-next, 0.3.0, release with signatures 2020-12-09 23:36:53 +00:00
HoneyryderChuck
7ba354bcac typing the resolvers 2020-12-09 14:27:27 +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
beb0a82baa typing selector and connection 2020-12-07 16:30:39 +00:00
HoneyryderChuck
4c61c524ed removing resolver options object, using plain hashes instead 2020-12-02 02:03:03 +00:00
HoneyryderChuck
a675fde7dd enable singleton usage in rbs sigs 2020-12-02 01:30:38 +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
201591e9fe added test for the socks5 non-happy path 2020-12-02 01:30:38 +00:00
HoneyryderChuck
b83d52a284 deprecating HTTPX.plugins officially 2020-12-02 01:30:38 +00:00
HoneyryderChuck
c67ae0582d added test for host unreachable when connecting to the nameservers 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
37999cc39e improved testing of body transcoder 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
34dc7df495 ensurinng that the push promise test sends requests sequentially 2020-11-26 17:20:13 +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
264278a7ce Merge branch 'issue-103' into 'master'
RSS Feed

See merge request honeyryderchuck/httpx!103
2020-11-26 10:17:45 +00:00
HoneyryderChuck
18f3b773ed adding rss feed links in the page 2020-11-26 10:10:35 +00:00
HoneyryderChuck
4d27d2d17e adding jekyll-feed 2020-11-26 10:10:17 +00:00
HoneyryderChuck
8f022c43ea bumped to 0.10.0 v0.10.0 2020-11-25 17:57:32 +00:00
HoneyryderChuck
3e3003a313 Merge branch 'issue-10-2' into 'master'
Streaming responses

Closes #10

See merge request honeyryderchuck/httpx!102
2020-11-25 13:37:16 +00:00
HoneyryderChuck
7a5353ea90 fixed signing of the stream session request 2020-11-25 11:54:51 +00:00
HoneyryderChuck
67459a4f86 adding streaming requests to the readme 2020-11-24 17:21:49 +00:00
HoneyryderChuck
350a030473 sleep skews a bit under load, increasing it for reliability 2020-11-24 17:21:29 +00:00
HoneyryderChuck
3688e56640 ensuring that the yielded chunks are strings 2020-11-24 17:21:01 +00:00
HoneyryderChuck
cb3e57e10d fixing log_exception signature 2020-11-24 16:38:46 +00:00
HoneyryderChuck
1e21c33da0 fixinng the signatures for the last rbs upstream 2020-11-24 00:42:54 +00:00