1108 Commits

Author SHA1 Message Date
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
50b65200ed using the new uri method at the appropriate places; adding some logging when resolving, to correctly identify when translation of IDN hostname happens 2020-11-07 01:41:05 +00:00
HoneyryderChuck
f9c1d7de44 extending URI to include non ascii hostname attribute; added own custom uri initialization function, which performs additional checks when needed 2020-11-07 01:41:05 +00:00
HoneyryderChuck
cbfb5c968e moving domain_name module to core httpx, as the punycode IDN translation will be needed at this layer 2020-11-07 01:34:48 +00:00
HoneyryderChuck
e271c45582 fixing frozen string issues with punycode, and the String#unicode_normalize 2020-11-06 23:06:39 +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
b1e12179d7 Merge branch 'issue-98' into 'master'
Cookies: new module

See merge request honeyryderchuck/httpx!98
2020-11-06 17:24:14 +00:00
HoneyryderChuck
98b7d2fc04 using build matrix to test JIT in its own build step 2020-11-06 17:16:02 +00:00
HoneyryderChuck
76817bcc27 updated license with punycode license 2020-11-06 17:03:05 +00:00
HoneyryderChuck
a0247ef458 adding breadcrumbs to the jekyll layouts 2020-11-05 20:02:55 +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
267f320fe0 updated signatures to use latest interface additions in rbs 2020-11-04 01:21:28 +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
1b068aca21 removing http-cookie 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
e94b8407e5 do not wait to close connections which haven't been opened yet 2020-10-31 01:08:00 +00:00
HoneyryderChuck
2a49fbc78f moved custom plugins used in tests to the support dir 2020-10-31 01:07:26 +00:00
HoneyryderChuck
f7af0511fa fixed pagination in blog 2020-10-30 22:16:53 +00:00
HoneyryderChuck
8157814b66 Merge branch 'issue-97' into 'master'
Ruby 3

See merge request honeyryderchuck/httpx!97
2020-10-30 18:14:06 +00:00
HoneyryderChuck
10b588e948 typing blog post 2020-10-30 16:19:18 +00:00
HoneyryderChuck
091ab764c9 fixed the endless loop on exception for good
type check errors were sometimes causing the request loop to stall. This
was due to it not being handled in pool, and the respective requests not
being reaped. On exit, the session would try to close these connections,
but they weren't available anymore, causing it to happen. We were
already doing this for Interrupt, we're just extending it for all
non-StandarError exceptions
2020-10-30 16:19:18 +00:00
HoneyryderChuck
805096b721 signing the http1 parser as well 2020-10-30 16:19:18 +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
e02e8029ad made encoder API more consistent across request body encoders 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
b24ad8b605 refactored the compression plugins to use inflater/deflater API
during the typing sessions, it was clear that there was some confusion
around the decoder/encoder concept as well as API convolution, i.e. zlib
implementation details leaked to the main compression module.

Therefore, interfaces for Deflater/Inflater were build from the ground
up, and the modules were rewritten accordingly.
2020-10-30 16:19:18 +00:00
HoneyryderChuck
04e8f04893 reorganizing and removind code 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
33487d03d5 fixing build_requests signatures, as 4 top parameters aren't supported, and one calls map although one expects #each 2020-10-30 16:19:18 +00:00
HoneyryderChuck
cb4a30d7f3 removed some more unnnecessary apis
removed unused method, that shouldn't be there

remove unnecessary methods from the error response
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
ec8d400081 skip default assignment, so that typing works better at that level 2020-10-30 16:19:18 +00:00
HoneyryderChuck
edc922843a run rbs check in tests 2020-10-30 16:19:18 +00:00
HoneyryderChuck
7c4ef3b12c plugin: pass block further, also request: do not convert to string, nonw that we'll have signatures 2020-10-27 17:00:44 +00:00
HoneyryderChuck
936a8533a7 initial signatures for typed ruby 2020-10-27 17:00:44 +00:00
HoneyryderChuck
16d9b2a4de using common settings for tests in the new images 2020-10-19 01:45:55 +01: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
29e0e0e63a added ruy 3.0 rc image 2020-10-10 15:52:16 +01:00
HoneyryderChuck
f6b775639f bumped version to 0.9.0 v0.9.0 2020-10-08 10:47:24 +01:00
HoneyryderChuck
a7e2fdc2ad restricting jekyll usage a bit more 2020-10-07 14:53:34 +01:00
HoneyryderChuck
5f70e1c8bb Merge branch 'single-gemfile' into 'master'
Single Gemfile with groups

See merge request honeyryderchuck/httpx!96
2020-10-07 13:50:22 +00:00