899 Commits

Author SHA1 Message Date
HoneyryderChuck
a421fb121b minimal changes to accomodate new kwargs syntax 2019-12-30 02:24:04 +00:00
HoneyryderChuck
4da021346e tracking 2.7 as main 2019-12-29 19:05:04 +00:00
HoneyryderChuck
9b71cf92e0 bumping to 0.6.3 v0.6.3 2019-12-22 02:00:15 +00:00
HoneyryderChuck
5ff5fc38bc fixed ruby 2.3 lack of support for SSL_CERT_FILE (openssl) 2019-12-22 02:00:15 +00:00
HoneyryderChuck
2b6b4d66ef fixed a few checks around alt-svc which weren't working:
* alt-svc connection is idle, no IO available, take that into account
when matching;
* we now merge connections when alt-svc'ing, so no need to purge and
send requests, just purge;
* URI's weren't matching well for altsvc, as they were testing if the
URIs were the same, not its origins;
* do not force h2 negotiation when opening alt-svc connection; this
is a trade-off to make it all work for now, as when connecting to an
h2-enabled alt service and we don't support h2 (like in ruby 2.1), we'll
still get an SSL HTTP/1.1 alt service
2019-12-22 00:47:32 +00:00
HoneyryderChuck
d6b93a233d improved altsvc by testing with raw http headers instead (this won't be portable once we request with the ALTSVC frame though) 2019-12-22 00:32:43 +00:00
HoneyryderChuck
056b922114 Merge branch 'origin-frame' into 'master'
HTTP/2 Origin frame

See merge request honeyryderchuck/httpx!58
2019-12-21 16:49:22 +00:00
HoneyryderChuck
2310cadb25 altsvc: pass tls options for ssl adapter that we support 2019-12-21 16:37:17 +00:00
HoneyryderChuck
4c2b9637e8 reach pending requests from parser is necessary for altsvc support 2019-12-21 11:40:43 +00:00
HoneyryderChuck
b616bea46c setting up functional tests for altsvc functionality 2019-12-21 11:40:43 +00:00
HoneyryderChuck
43fead1ab0 fixed bad API call and when coalesced is thrown after DNS lookup 2019-12-21 11:40:43 +00:00
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
0eb487489c Merge branch 'issue-53' into 'master'
fix alt-svc when it's same host

Closes #53

See merge request honeyryderchuck/httpx!57
2019-12-14 16:56:04 +00:00
HoneyryderChuck
e6ec9cb43e adding support for the origin frame 2019-12-14 16:48:23 +00:00
HoneyryderChuck
a0db1b13d5 fixing alt-svc match: if the alt-svc origin is h2, and the connection origin is https, and host/port match, then reuse the same connection 2019-11-30 15:00:35 +00:00
HoneyryderChuck
e30469f8a3 fixing usage of active_stream_count, which changed in http-2-next, and never decrements; using local active stream count instead 2019-11-30 14:59:18 +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