HoneyryderChuck
dce5c22fa0
fixing latest rubocopz
2021-09-20 12:37:48 +01:00
HoneyryderChuck
579ee4d0cc
retries: apply some jitter on the retry after value
2021-09-12 16:10:50 +01:00
HoneyryderChuck
c95e926886
auto-corrected the easy ones first
2021-09-03 12:24:18 +01:00
HoneyryderChuck
f520785572
added content-type filtering to decoders
2021-08-10 13:50:34 +01:00
HoneyryderChuck
556c94a575
added multipart decooder, which overtakes on Response#form for multipart payloads
2021-08-09 15:54:25 +01:00
HoneyryderChuck
e5a120111c
added tests for json and form (also multipart) decoders
2021-08-09 15:54:24 +01:00
HoneyryderChuck
e0a46dc7ec
making the grpc plugin build a rpc definitions from ma grpc generic service, thereby diminishing boilerplate
2021-07-20 17:29:03 +01:00
HoneyryderChuck
fec85f29cd
added test for cookie jar management, exemplifying what the cookie plugin should be doing
2021-07-15 15:00:29 +01:00
HoneyryderChuck
f9f13abb81
removing internal with_cookies usage
2021-07-15 14:59:44 +01:00
HoneyryderChuck
7e9b6c96f1
evicting existing cookies in the jar when containing same name, domain and path
2021-06-30 11:02:15 +03:00
HoneyryderChuck
2510f5730a
making the test duplicate cookie fail, is it should only contain the last value for the a field
2021-06-26 15:15:09 +03:00
HoneyryderChuck
ce23db787e
using more predictable uris for cookie jar tests, so they work outside of the docker setup
2021-06-26 14:39:36 +03:00
noraj
fbf8ef2f65
test duplicate cookie
2021-06-25 15:10:46 +02:00
HoneyryderChuck
dbea29cca8
regressions for bugs fixed in 0.14.2 and 0.14.1
2021-06-02 19:00:14 +01:00
HoneyryderChuck
df489676ac
adding ntlm auth plugin
2021-05-27 19:11:15 +01:00
HoneyryderChuck
dda1315db4
adding tests to enure that field order is respected, even when repeated, when performing form/multipart requests ( Closes #126 )
2021-05-27 19:11:15 +01:00
HoneyryderChuck
c61007ba0f
do not forget the filename in those multipart spoofs
2021-05-27 17:53:45 +01:00
HoneyryderChuck
35df9c7683
fix: allow setting arbitrary content types for multipart requests
...
very useful when testing spoof requests.
2021-05-27 16:50:38 +01:00
HoneyryderChuck
a65104e19f
added test for the reported bug
2021-05-26 17:30:50 +01:00
HoneyryderChuck
ff5ed7be59
added support for TLS channel credentials
2021-05-20 00:59:14 +01:00
HoneyryderChuck
b09aef506e
wrapping all responses from the grpc plugin in a GRPC::Call
...
calls are proxies which can access response metadata as it arrives. For
instance, it's possible to now get metadata (which are http headers)
before the response is fully streamed. #trailing_metadata will also be
empty until the response has been fully processed.
This builds on top of the stream plugin improvements foundation.
2021-05-20 00:11:26 +01:00
HoneyryderChuck
bbe5c2d114
added support for grpc deadline options
2021-05-07 16:55:48 +01:00
HoneyryderChuck
232b94590a
grpc: added client and server cancellation request support
2021-05-07 16:55:48 +01:00
HoneyryderChuck
949f073738
added test to prove support for requests cancelled from server
2021-05-06 10:38:20 +01:00
HoneyryderChuck
fd31d9de0d
allow for compression of grpc messages; testing using grpc
2021-05-06 10:38:20 +01:00
HoneyryderChuck
837c7ddf17
allowing .deflate to be called synchronously
2021-05-06 10:38:20 +01:00
HoneyryderChuck
5772f83149
added client and server stream tests and implementation
...
bidi calls also "just" work (tm)
2021-05-05 13:18:47 +01:00
HoneyryderChuck
d6a03f3e24
first grpc+proto unary test + implementation
2021-05-04 20:09:50 +01:00
HoneyryderChuck
dbdf7b95a2
added initial test and implementation of a quasi-unary interface
2021-05-04 20:09:50 +01:00
HoneyryderChuck
ae4b7545b2
added the first grpc test, initially using the gprc gem stub client
2021-04-20 19:04:19 +01:00
HoneyryderChuck
7fca78ad23
added custom upgrade plugin as example (for websockets)
2021-03-05 12:23:18 +00:00
HoneyryderChuck
a03e93e531
allow for oportunistic upgrades, such as the apache Upgrade: h2
...
this is achieved by a rework of the upgrade plugin, and the addition of
an h2 upgrade plugin. The idea is the following: if a response carries
an Upgrade header, and there's a handler for it, we should go for it.
The difference is:
* when the response is 101, this means that the negotiation must take
place before the actual response comes in;
* when the response is 200, upgrading means reconnecting to the channel,
and assume the new protocol for subsequent requests only.
2021-03-05 12:23:17 +00:00
HoneyryderChuck
72a397b841
added (and fixing bug for) test of subsequent request on upgraded
...
connection
After the connection has been upgraded and session is kept open,
subsequent requests were still trying to upgrade it. This fixes it by
marking the connection as upgraded, and falling back to normal
behaviour when it is.
2021-03-05 12:23:07 +00:00
HoneyryderChuck
a77091f9e7
refactor the h2c plugin on top of the upgrade plugin
...
By setting the h2c protocol handler, the rest became much simpler.
Formatting the upgrade request is a matter for the sub-plugin.
Therefore, the specific h2c request upgrade headers are built-in there.
2021-02-28 03:06:03 +00:00
HoneyryderChuck
5c4cf4dd9e
regression test for issue fixed in v0.11.2
...
added a test for parsing an RFC-2616-compliant expires date in the
cookie, which fails without the fix.
2021-02-17 01:23:16 +00:00
HoneyryderChuck
a2895d456f
regression test for bug fixed in 0.11.3
...
created a test server which removes the content-length. Taken extra
condition into account, that the close might manifest itself while
selecting on the socket; at that point we're out of the consumption
loop, so better not to deal with throwing :called
2021-02-17 00:55:05 +00:00
HoneyryderChuck
7082f63e4e
more explicit error message in multipart test
2021-02-16 18:27:05 +00:00
HoneyryderChuck
10bb2fbfd2
removed test logging
2021-02-07 15:52:28 +00:00
HoneyryderChuck
9ca4cbe68b
yield error response on frame protocol errors for a given stream
...
stream HTTP/2 framing errors were being yielded directly into the connection. This had
the issue of not closing the request, thereby causing an infinite loop
when closing the connection. This seemed to be the issue in CI.
2021-02-07 15:16:26 +00:00
HoneyryderChuck
5a9277d8f4
logging multipart retry test, this seems to be the onne hanging from time to time...
2021-02-06 16:34:47 +00:00
HoneyryderChuck
1724c0f913
waiting for localstack to be up before running the tests in CI
2021-02-06 16:24:35 +00:00
HoneyryderChuck
ef8ad355e9
show the header in the logs when aws sigv4 fails
2021-02-06 16:24:35 +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
f415d1b66b
added tests for aws sigv4
2021-02-02 18:33:24 +00:00
HoneyryderChuck
cbfdfed6c4
socks5 test covering failed authenticationn path
2021-01-14 00:35:22 +00:00
HoneyryderChuck
c5512dbbeb
enable push frames in no push test in order to force refusal
2021-01-14 00:34:51 +00:00
HoneyryderChuck
a29961962b
allowing multipart requests to be retried (although, to be fair, user has to push a lot of knobs to do so)
2021-01-13 13:40:05 +00:00
HoneyryderChuck
42297cd38d
simplifying apis, testing pathnames
2021-01-13 12:27:13 +00:00
HoneyryderChuck
25d5e93248
added additional tests for the future accepted variationns of multipart parameters
2021-01-13 00:00:09 +00:00