1557 Commits

Author SHA1 Message Date
HoneyryderChuck
d9326ac027 fixing the disable of kee-alives when setting max-concurrent-connections
to 1

A check was introduced limiting the number of requests send at once.
However. the connection header was set to "close" as well, because
the accounting involved the number of concurrent connections allowed.
This is now fixed, by doing accounting separately.
2021-02-05 19:28:38 +00:00
HoneyryderChuck
3f3e1cd9cf limiting the number of max concurrent connnections for the awk
authentication plugin

TIL that S3 does not speak HTTP/2 (cloudfront does). Also, AWS sigv4
verification breaks with pipelined requests, therefore, we have to send
them one at a time.

GCP does provide HTTP/2 support, so let's test there as well.
2021-02-05 18:42:39 +00:00
HoneyryderChuck
242cee73b5 using truffleruby nightly builds 2021-02-04 20:17:35 +00:00
HoneyryderChuck
3083fe7b78 added link to wiki regarding jruby in the readme 2021-02-04 18:41:07 +00:00
HoneyryderChuck
e1d305b4d9 adding expect and compression plugins by default to the aws_sigv4 plugin
It's expected that this endpoint will be used i most cases for file
uploads, so both plugins will be important to improve throughput and
auth-fail-fast scenarios
2021-02-03 12:52:55 +00:00
HoneyryderChuck
d93de82639 do not assume that kwargs work as hash merges in older rubies 2021-02-03 12:52:22 +00:00
HoneyryderChuck
2875e81d16 testing against patched openssl version (and sending all artifacts to coverage job in CI) 2021-02-02 19:42:43 +00:00
HoneyryderChuck
5e31836ac2 changing the API so that a credentials object can be passed to sigv4
this allows the aws-sdk plugin to pass a wrapped Aws::Credentials
downstream, which provides the username/password vars. this is
important, as some of the strategies, such as the web identity token,
also revalidate these parameters.
2021-02-02 18:33:24 +00:00
HoneyryderChuck
ae1060157a changing the name of the plugin to aws_sdk_authentication, removing depenndency on s3 gem (only aws-sdk-core) 2021-02-02 18:33:24 +00:00
HoneyryderChuck
463dad46cb added the aws signature on top of the aws-sigv4 plugin, with support for using aws-sdk-core ready-made config 2021-02-02 18:33:24 +00:00
HoneyryderChuck
755b895b08 added initial aws sigv4 functional test 2021-02-02 18:33:24 +00:00
HoneyryderChuck
c588614c2c adding localstack to mimmick local aws cloud 2021-02-02 18:33:24 +00:00
HoneyryderChuck
48051d37c0 adding initial implementation of sigv4 request signing, which passed the aws-sdk-sigv4 tests 2021-02-02 18:33:24 +00:00
HoneyryderChuck
db036aaefa protocol: passing protocol specific headers as a request callback 2021-02-02 18:33:24 +00:00
HoneyryderChuck
f415d1b66b added tests for aws sigv4 2021-02-02 18:33:24 +00:00
HoneyryderChuck
a1942d5a6a Merge branch 'issue-100' into 'master'
FFI-base TLS stack for JRuby to enable HTTP/2

Closes #100

See merge request honeyryderchuck/httpx!117
2021-02-02 17:55:49 +00:00
HoneyryderChuck
550fc82b1a adding coverage innfo of ruby 3 2021-02-02 17:33:41 +00:00
HoneyryderChuck
6d3312bffe group ci tasks by name 2021-02-02 15:49:25 +00:00
HoneyryderChuck
e334bf891b as per https://github.com/msgpack/msgpack-ruby/issues/205 , restrict 1.4 to ruby >= 2.4 2021-02-02 15:40:22 +00:00
HoneyryderChuck
17dc61402b removing rubocop's pin to master (a bugfix has been released) 2021-02-02 15:28:07 +00:00
HoneyryderChuck
fa81dcbb73 ci: change dependencies to needs 2021-02-02 15:05:49 +00:00
HoneyryderChuck
065bfc48dc do not rely on deflater being initialized at this point 2021-01-31 16:19:49 +00:00
HoneyryderChuck
838f9a3e11 added ruby-tls license to the ffi-based files 2021-01-31 16:07:42 +00:00
HoneyryderChuck
58a1991f10 ignore the ffi-tls stack from coverage
Given that it was based on ruby-tls, there's a lot of server-specific
code paths which will never be covered. So it's not going to be dealt
with, until it has to.
2021-01-31 15:57:54 +00:00
HoneyryderChuck
2866b78572 error message for sni is actually different, and I'm not sure how wasn't this being skipped 2021-01-31 15:51:34 +00:00
HoneyryderChuck
63f2026c1a disabling integrations for jruby 2021-01-31 15:51:34 +00:00
HoneyryderChuck
e253a70270 test bad certs errors with badssl.com instead 2021-01-31 15:51:34 +00:00
HoneyryderChuck
574a478cc8 changing indentation, registering TLS class 2021-01-31 15:51:34 +00:00
HoneyryderChuck
2749763d8c relaxed constraints on verify callback 2021-01-31 15:51:34 +00:00
HoneyryderChuck
f7600d39d9 installing a 2020 version of openssl 2021-01-31 15:51:34 +00:00
HoneyryderChuck
5cda82cf95 updating jruby docker image 2021-01-31 15:51:34 +00:00
HoneyryderChuck
2ecfde95d8 fixing cerfificate hostname validation callback 2021-01-31 15:51:34 +00:00
HoneyryderChuck
0b7dbb8cfa alpn refactoring 2021-01-31 15:51:34 +00:00
HoneyryderChuck
87b9a6c49e moving away from the single-file ruby-tls, breaking down into components 2021-01-31 15:51:34 +00:00
HoneyryderChuck
507e6f6674 exposing certificate verification errors upstream, openssl style 2021-01-31 15:51:34 +00:00
HoneyryderChuck
da21b4a342 updated verify certs callback, inorder only to verify the hostname when dealing with the leaf certificate 2021-01-31 15:51:34 +00:00
HoneyryderChuck
384d273715 new ssl option: :hostname -> the SNI hostname used in the TLS handshake 2021-01-31 15:51:34 +00:00
HoneyryderChuck
c5e3bda2d3 passing io doesn't work for ruby-tls 2021-01-31 15:51:33 +00:00
HoneyryderChuck
f1f85ecfc7 maintaining own fork of ruby-tls
The ruby-tls gem hasn't received an update in 3 years, and haven't
actioned on issues that old, which leads me to believe it was abandoned.
Therefore, I now maintain this fork, and this allows me to quickly
identify issues.

The flow within the IO wrapper has been dealt with as well
2021-01-31 15:51:33 +00:00
HoneyryderChuck
61afd85654 install libssl-dev in CI 2021-01-30 23:19:02 +00:00
HoneyryderChuck
f423ea69cb IO wrapper using the ruby-tls handler 2021-01-30 23:19:02 +00:00
HoneyryderChuck
fd9fc7ccf3 added ruby-tls for jruby 2021-01-30 23:19:02 +00:00
HoneyryderChuck
4aafa782e9 doc was somehow missing 2021-01-30 17:25:46 +00:00
HoneyryderChuck
037a435163 bumped to 0.11.1 v0.11.1 2021-01-30 17:17:16 +00:00
HoneyryderChuck
b63e91b165 forgot that integrations tests do not run in parallel 2021-01-30 16:26:19 +00:00
HoneyryderChuck
7221a61383 fixing jruby CI pipelinne 2021-01-30 16:13:55 +00:00
HoneyryderChuck
0ce0a0f092 Merge branch 'issue-112' into 'master'
fixing decompression issue when last DATA frame is empty

Closes #112

See merge request honeyryderchuck/httpx!116
2021-01-30 15:40:56 +00:00
HoneyryderChuck
d645ac8596 added quick fixes to make http tests run with truffleruby, until the patches are released 2021-01-30 15:31:03 +00:00
HoneyryderChuck
5158cce23f do not install msgpack version which fails to run under ruby 2.1 2021-01-30 15:31:03 +00:00
HoneyryderChuck
738875b5aa pinning runocop to master branch (there was a bug in the evalwithlocation cop) 2021-01-30 15:31:03 +00:00