539 Commits

Author SHA1 Message Date
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
350a030473 sleep skews a bit under load, increasing it for reliability 2020-11-24 17:21:29 +00:00
HoneyryderChuck
cb3e57e10d fixing log_exception signature 2020-11-24 16:38:46 +00:00
HoneyryderChuck
6cc24b63f5 forcing request fo fail with exception when there's an error (since we're supporting only 1 stream request at a time, this should be straightforward) 2020-11-24 00:42:54 +00:00
HoneyryderChuck
742d877c76 added #each_line method to stream response 2020-11-24 00:42:52 +00:00
HoneyryderChuck
1b29e062a0 added streaming plugin tests 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
fa2fd818fe added explicit response closing in tests 2020-11-22 15:55:43 +00:00
HoneyryderChuck
86f1db5bf0 disabling IDN support for ruby < 2.3 2020-11-07 15:36:21 +00:00
HoneyryderChuck
1b26977d16 updated rubocop to 1.0.0 on possible rubies, making the necessary changes 2020-11-07 15:36:21 +00:00
HoneyryderChuck
d900225f2e added ascii url request tests 2020-11-07 01:41:05 +00:00
HoneyryderChuck
fe0fc841c9 Merge branch 'breadcrumb' into 'master'
adding breadcrumbs to the jekyll layouts

See merge request honeyryderchuck/httpx!100
2020-11-06 17:26:35 +00:00
HoneyryderChuck
5f735cc6f5 Merge branch 'issue-50' into 'master'
rate limiter plugin

See merge request honeyryderchuck/httpx!99
2020-11-06 17:25:06 +00:00
HoneyryderChuck
98b7d2fc04 using build matrix to test JIT in its own build step 2020-11-06 17:16:02 +00:00
HoneyryderChuck
62467ff5c5 persistent and retries plugin now work well together
When persistent and retries are loaded separately, the options won't be
just overwritten; instead, changes will be kept, and max_retries will be
the max value of what both plugins load (in case the user sets its own
option)
2020-11-05 16:20:16 +00:00
HoneyryderChuck
048501e940 adding and integrating the new cookie modules for: store, jar, cookie, and domain name 2020-11-04 00:32:01 +00:00
HoneyryderChuck
959429b386 improved cookies testing, to test also the array-of-cookie-hashes case; does not accept a string anymore, as besides untested, it wasn't working properly 2020-11-03 16:33:11 +00:00
HoneyryderChuck
01552757a0 supporting the retry-after header for redirections as well 2020-10-31 14:15:28 +00:00
HoneyryderChuck
1ad2e9cbcf implemented the rate limiter plugin 2020-10-31 14:15:28 +00:00
HoneyryderChuck
6f2048952f updating retry_after call test (2 arguments now) 2020-10-31 02:09:31 +00:00
HoneyryderChuck
1934e84bcd added the rate limiter tests 2020-10-31 01:08:44 +00:00
HoneyryderChuck
2a49fbc78f moved custom plugins used in tests to the support dir 2020-10-31 01:07:26 +00:00
HoneyryderChuck
96eaf1ef05 moar coverage 2020-10-30 16:19:18 +00:00
HoneyryderChuck
0fe4040da0 improved the parser coverage
* removed needless tests;
* testing error paths;
* removed some unreachable code;
* removed branching of #parse calls;
2020-10-30 16:19:18 +00:00
HoneyryderChuck
9efd2a0a2e fixed the request mock, which triggered a typing error 2020-10-30 16:19:18 +00:00
HoneyryderChuck
e0c88f642f loading plugins upfront when runtime type checking is enabled, as they need to be in memory 2020-10-30 16:19:18 +00:00
HoneyryderChuck
f8877df2e1 enforce the nneed for the response body class to be a subclass of the response body 2020-10-30 16:19:18 +00:00
HoneyryderChuck
edc922843a run rbs check in tests 2020-10-30 16:19:18 +00:00
HoneyryderChuck
5c93746718 not using alpine for jruby 2020-10-10 15:53:19 +01:00
HoneyryderChuck
c758b6e49d added truffleruby image 2020-10-10 15:53:19 +01:00
HoneyryderChuck
02f6a71e5b remove superfluous log 2020-10-07 02:19:14 +01:00
HoneyryderChuck
7d9c5a722e added tests for build_request as public api from session 2020-10-06 16:23:18 +01:00
HoneyryderChuck
851c33fa23 building jekyll and coverage in separate tasks 2020-10-02 19:36:49 +01:00
HoneyryderChuck
9c8adfcb55 enabling merging of coverage reports 2020-09-30 11:45:58 +01:00
HoneyryderChuck
b9809077f5 Merge branch 'issue-89' into 'master'
Ping connection on keep alive timeout expired

See merge request honeyryderchuck/httpx!88
2020-05-06 11:38:06 +00:00
HoneyryderChuck
5a99c2f331 Merge branch 'issue-88' into 'master'
HTTP/1: connection: close when necessary.

See merge request honeyryderchuck/httpx!87
2020-05-06 08:50:16 +00:00
HoneyryderChuck
bb310dc106 making the connection ping when keep alive timeout is exceeded; this way if the connection is still available, it's reused 2020-05-03 16:28:58 +01:00
HoneyryderChuck
754bb6b5ed Merge branch 'issue-86' into 'master'
:compression_threshold_size

Closes #86

See merge request honeyryderchuck/httpx!86
2020-04-28 10:32:45 +00:00
HoneyryderChuck
5dee4497bf added support for connection: close, by:
* sending info on whether the session is in persistent mode to the
request;
* on parser, set keep-alive when persistent, at all times;
* when not persistent, set keep-alive on all requests til the last;
* on error recovery, when resetting to 1 request at a time, still keep
alive to all requests til the last;
* on next error recovery, set connection: close
2020-04-27 01:38:11 +01:00
HoneyryderChuck
7c08527cb9 added support for :compression_threshold_size, in order to bypass compression when not worth it 2020-04-27 00:13:51 +01:00
HoneyryderChuck
93a4b933af added support for :expect_threshold_size, to disable expect: 100-continue based on body bytesize sent 2020-04-26 23:52:14 +01:00
HoneyryderChuck
7f7a44b1b4 headers: join field values was missing a whitespace, which was breaking option comparison, which was breaking connection reuse 2020-04-23 12:04:21 +01:00
HoneyryderChuck
af2524cf6e abstracted retry request verification to an helper method 2020-04-18 17:40:29 +01:00
HoneyryderChuck
5823a040d0 adding more methods necessary for the faraday adapter when it comes to multi-response errors 2020-04-13 18:07:27 +01:00
HoneyryderChuck
4997548d95 do not use the select_one variant for ruby 2.1, as there is a deadlock on ssl connect that is triggered in a test 2020-04-13 15:23:20 +01:00
HoneyryderChuck
4af6c14fdc typo 2020-04-12 03:32:04 +01:00
HoneyryderChuck
f6475009fe now that the timer interval is used in the selector, make sure that timeouts from selecting are properly reflected as total timeouts when they are 2020-04-12 03:32:04 +01:00
HoneyryderChuck
0136200b85 allow parser to close connection by passing a special flag
this works for http/1, where one can close the socket immediately.
2020-04-12 03:32:04 +01:00