785 Commits

Author SHA1 Message Date
HoneyryderChuck
895ca720cc make sure coalescing is only tested in environments with h2 support 2019-12-21 11:40:43 +00:00
HoneyryderChuck
8ca59545a2 added test for connection coalescing (and removed the certificate verification disable flag) 2019-12-21 11:40:43 +00:00
HoneyryderChuck
d0587563a6 updated test certs so that one can another and another2 are set as alternative names for nghttp2 certificate 2019-12-15 15:09:21 +00:00
HoneyryderChuck
9498d29000 fixed connection coalescing; added integration section with scripts for untested use-cases 2019-12-15 13:10:11 +00:00
HoneyryderChuck
9d6f5413ab secure origin frame support by forcing hostname verification against the certificate 2019-12-14 17:17:23 +00:00
HoneyryderChuck
e6ec9cb43e adding support for the origin frame 2019-12-14 16:48:23 +00:00
HoneyryderChuck
ab67491a55 post: 10 things a library needs v0.6.2 2019-11-30 00:05:34 +00:00
HoneyryderChuck
91945c237a bumping to 0.6.2 2019-11-29 23:43:05 +00:00
HoneyryderChuck
061b3f0817 Merge branch 'issue-67' into 'master'
"\n" values on header

Closes #67

See merge request honeyryderchuck/httpx!55
2019-11-27 18:43:03 +00:00
HoneyryderChuck
2380a9d68f Merge branch 'issue-66' into 'master'
remove escaping using URI.escape

Closes #66

See merge request honeyryderchuck/httpx!56
2019-11-27 18:42:27 +00:00
HoneyryderChuck
660c0b2433 remove escaping using URI.escape, as it's considered obsolete; provided
fallback for ruby 2.1
2019-11-27 18:33:03 +00:00
HoneyryderChuck
a0a3cfa8a5 stripping values on header (to remove undesired \n 2019-11-27 17:44:38 +00:00
HoneyryderChuck
3f655bb031 bumping to 0.6.1 v0.6.1 2019-11-22 12:41:24 +00:00
HoneyryderChuck
6a1bca9239 removing CHANGELOG 2019-11-22 12:08:52 +00:00
HoneyryderChuck
cdffabd45c Merge branch 'issue-64' into 'master'
Cloudfront fixes

Closes #64

See merge request honeyryderchuck/httpx!54
2019-11-22 12:07:20 +00:00
HoneyryderChuck
45ab093a55 Cloudfront fixes 2019-11-22 12:07:20 +00:00
HoneyryderChuck
148c092879 fixed ssl output 2019-11-19 23:58:43 +00:00
HoneyryderChuck
be975cef87 emit error on http2 if error happens before streams are ever created 2019-11-19 23:29:39 +00:00
HoneyryderChuck
88e0f9a789 added metadata info to gemspec 2019-11-17 12:16:43 +00:00
HoneyryderChuck
18820ebc26 added anchors on main page 2019-11-17 12:15:23 +00:00
HoneyryderChuck
60f86658fc page: added missing version 2019-11-17 12:15:13 +00:00
HoneyryderChuck
44d5deee89 Merge branch 'http-2-next' into 'master'
Http 2 next

See merge request honeyryderchuck/httpx!53
v0.6.0
2019-11-17 02:27:32 +00:00
HoneyryderChuck
a3426f39b2 bumping to 0.6.0 2019-11-17 02:21:21 +00:00
HoneyryderChuck
b969a1afe0 switched from http-2 to http-2-next 2019-11-17 02:21:00 +00:00
HoneyryderChuck
24171b044a Merge branch 'blog' into 'master'
new blog post, enumerables

See merge request honeyryderchuck/httpx!52
2019-11-07 00:25:32 +00:00
HoneyryderChuck
7f187a8ff2 new blog post, enumerables 2019-11-05 01:18:00 +00:00
HoneyryderChuck
c9f57704a8 typo 2019-10-13 18:41:38 +01:00
HoneyryderChuck
87cacb98a5 bumped to 0.5.1 v0.5.1 2019-10-13 18:31:52 +01:00
HoneyryderChuck
44fb9f1820 Merge branch 'issue-59' into 'master'
Fixing buffer usage

Closes #57

See merge request honeyryderchuck/httpx!51
2019-10-13 17:12:22 +00:00
HoneyryderChuck
f1fb88be86 added ipaddr explicitly for jruby 2019-10-13 13:21:30 +01:00
HoneyryderChuck
a5b65ac78a fixed flaky related with the cname test (test all dns records in the same way 2019-10-13 01:45:10 +01:00
HoneyryderChuck
933d319b0b using byteslice instead of slice for buffer manipulation
The code from which the buffer and string handling was adapted,
inherited also the usage of slice!, which is not the appropriate tool
for when dealing with byte streams. Ruby doesn't have an equivalent
String#byteslice! yet, so we adapted other known workarounds (see
https://bugs.ruby-lang.org/issues/13626) for our code. This means that:

- For HTTPX::Buffer, we add a shift! method, as all usage shift the
buffer part which has been written to the socket;
- For HTTP1 parser and Chunker, we have to double the usage of
byteslice. In the cases where it results in nil, we might needlessly
initialize an empty string, however this is the lesser of evils, until a
proper backport is in place.
2019-10-12 20:57:44 +01:00
HoneyryderChuck
a059726b9e compression: added some behaviours from net-http
After looking at net-http code, decided to adopt the following
behaviour:

* do not send accept-encoding when sending Range header
* remove content-encoding from response headers as we decode them

in order for user code to track what was decoded, added
HTTPX::Response::Body#encodings, which returns the array of encodings
for which the body was successfully decoded
2019-10-12 20:55:16 +01:00
HoneyryderChuck
508b5b96ee Merge branch 'issue-59' into 'master'
do not compare options objects by request-level options

Closes #59

See merge request honeyryderchuck/httpx!46
2019-10-11 15:41:35 +00:00
HoneyryderChuck
3669fd0597 Merge branch 'http-2-no-error' into 'master'
do not raise exception when connection/stream is reset with no error

See merge request honeyryderchuck/httpx!48
2019-10-08 13:15:44 +00:00
HoneyryderChuck
a4d83103d2 do not compare options objects by request-level options 2019-10-08 00:36:09 +01:00
HoneyryderChuck
6a095c21e9 do not raise exception when connection/stream is reset with no error 2019-10-08 00:35:57 +01:00
HoneyryderChuck
6c1c1f5ee7 Merge branch 'reliable-tests' into 'master'
increased the number of workers both on nghttpx and httpbin

See merge request honeyryderchuck/httpx!49
2019-10-07 23:35:24 +00:00
HoneyryderChuck
d71529712c increased the number of workers both on nghttpx and httpbin, which decreased massively the number of sporadic timeouts; updated setups as well 2019-10-08 00:27:41 +01:00
HoneyryderChuck
5a3d19c7e8 bumping to 0.5 v0.5.0 2019-09-29 01:46:33 +01:00
HoneyryderChuck
32999dfde1 jekyll: reverted config.yml.erb, as it wasn't deploying properly 2019-09-29 01:32:14 +01:00
HoneyryderChuck
d51c569447 again, raise error, not message 2019-09-29 01:31:59 +01:00
HoneyryderChuck
e0d90b63ba Merge branch 'fix-timeouts' into 'master'
Fix selector timeouts

See merge request honeyryderchuck/httpx!47
2019-09-28 00:08:41 +00:00
HoneyryderChuck
7a35329854 buffer for response must be kept in ascii, and only transformed later 2019-09-28 00:52:49 +01:00
HoneyryderChuck
95ae9c8d6d raising error instead of just message 2019-09-28 00:52:49 +01:00
HoneyryderChuck
237c3863f5 updating faraday support for 0.16 version 2019-09-27 20:42:40 +01:00
HoneyryderChuck
be39f6b901 making the selector closer to the nio4r pure ruby selector
Some requests were hanging because some connection with read interests
were only on the writers selector. This issue manifested itself in high
load scenarios.

The fix is not the most performant, but it does the job: only set write
interest when connecting, otherwise read/write. This increases the
number of wakeups, but at least we have correctness.
2019-09-27 20:14:43 +01:00
HoneyryderChuck
c1d8b30d08 this test always fails when debug mode is on 2019-09-27 12:39:07 +01:00
HoneyryderChuck
d4973bdeb3 changed some test configuration 2019-09-27 12:39:07 +01:00
HoneyryderChuck
ce4e50180e making requests close its own timer 2019-09-27 12:39:07 +01:00