HoneyryderChuck
c61007ba0f
do not forget the filename in those multipart spoofs
2021-05-27 17:53:45 +01:00
HoneyryderChuck
357344f2f9
bumped to 0.14.1
v0.14.1
2021-05-27 17:00:00 +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
40be0f6aff
Merge branch 'issue-128' into 'master'
...
do not mutate request headers with protocol headers
Closes #128
See merge request honeyryderchuck/httpx!132
2021-05-26 17:42:51 +00:00
HoneyryderChuck
8e1e6b3c6a
set_protocol_headers now returns extra fields, that can be yielded in the handler, instead of merged into the request
...
this implicit mutation of the request was causing issue in insecure
redirects, which kept the same HTTP/2 specific headers in HTTP/1
payloads
2021-05-26 18:13:53 +01:00
HoneyryderChuck
e5a8e76d62
allow Headers#each to be passed extra headers to yield
2021-05-26 18:13:53 +01:00
HoneyryderChuck
a65104e19f
added test for the reported bug
2021-05-26 17:30:50 +01:00
HoneyryderChuck
5d4ac62bf2
bumping version to 0.14.0
v0.14.0
2021-05-22 16:19:52 +01:00
HoneyryderChuck
e6fbe82b41
removing unused code
2021-05-22 16:19:24 +01:00
HoneyryderChuck
2c3280b6d0
Merge branch 'issue-119' into 'master'
...
new option: origin
See merge request honeyryderchuck/httpx!131
2021-05-22 14:23:05 +00:00
HoneyryderChuck
215f98f725
Merge branch 'issue-125' into 'master'
...
bugfix: do not blindly sum origins when merging connections
Closes #125
See merge request honeyryderchuck/httpx!130
2021-05-21 17:41:46 +00:00
HoneyryderChuck
44106325d5
bugfix: do not set new session callbacks on connections which already have them
...
a subtle bug surfaced when trying multiple individual requests on the
same persistent session, where the connection was being removed from the
watchable connections after each request, but kept in the pool; on the
next request, it would set the same session callbacks; this would go on
and on until connections would get exhausted, after which all of these
callbacks would have to be called.
fixed by having a new callbacks interface, #only, which discards
existing callbacks by type, thereby ensuring there's only one of the
kind.
2021-05-21 18:26:54 +01:00
HoneyryderChuck
3eddfdb509
bugfix: do not blindly sum origins when merging connections
...
so that there are no repeated entries.
Fixes #125
2021-05-21 18:21:14 +01:00
HoneyryderChuck
f0e189f5be
Merge branch 'truffle' into 'master'
...
update truffleruby to official images
See merge request honeyryderchuck/httpx!129
2021-05-21 15:56:13 +00:00
HoneyryderChuck
9801cb7b31
update truffleruby to official images
2021-05-21 16:44:31 +01:00
HoneyryderChuck
76350d9ebb
quieting logging of test grpc servers
2021-05-20 00:59:14 +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
441716a5ac
fixing double-response for streams
...
there was a long-standing buggy workaround, whereas in stream-mode, when
there was no response yet to query from, a synchronous request would be
fired. This would break when under event streams, so we had to document
this as "make sure that...".
This fixes it by implementing a general session API convention, which
separates the step of sending the requests, from waiting for its
receival. And, given that the request knows when the response is
available, we can actually "tick until response".
This might be used in the future to refactor the way we handle the
responses, which buffer the full payload by default, instead of reading
from the connection at will.
2021-05-20 00:11:26 +01:00
HoneyryderChuck
a1d09889ff
adding grpc subfolder, extracting Message module, adding a Call abstraction
2021-05-10 12:38:41 +01:00
HoneyryderChuck
bbe5c2d114
added support for grpc deadline options
2021-05-07 16:55:48 +01:00
HoneyryderChuck
0003dc617c
fixed doc typos
2021-05-07 16:55:48 +01:00
HoneyryderChuck
02dfb9073e
allow connections to cleanup refused streams
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
b73882210f
bugfix: do not reset content-length for compressed body if the body is streamable (not only chunked)
2021-05-06 10:38:20 +01:00
HoneyryderChuck
7a60346bf7
Added trailer header support for writing requests
...
Request can also add their own trailer headers, either explicitly via
Request#trailers , or via request lifecycle callbacks
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
4d0750c950
stream: delegate to real response if available, only then generate a brand new one
2021-05-05 13:18:47 +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
440061409d
bumping http-2-next to 0.4.1, the version fixing trailer headers
2021-05-04 20:09:50 +01:00
HoneyryderChuck
1cf6e5aac7
new option: origin
...
by setting the origin, one can pass relative paths to httpx, which will
be appended when building the request.
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
3e7dfe3e7f
stream: moved StreamResponse to the HTTPX namespace
2021-05-04 20:09:50 +01:00
HoneyryderChuck
56aecf8067
options: on extra_options class extension, always pass the original options as arg
2021-05-04 20:09:50 +01:00
HoneyryderChuck
e436c4fa04
options: always load plugins in the .configure callback
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
9e10ee44eb
Merge branch 'base-ruby' into 'master'
...
using stock base ruby images
See merge request honeyryderchuck/httpx!128
2021-04-20 10:03:28 +00:00
HoneyryderChuck
73de78efa6
fixed rubocop's new minor version hassles
...
also, changed the target ruby version, first time this ever happens.
2021-04-20 10:45:27 +01:00
HoneyryderChuck
00439ab26f
remove (apparently needless?) call to Datadog.reset in the integration tests
2021-04-20 10:36:29 +01:00
HoneyryderChuck
96013c334c
fixed socket errors tests (messages different in non-alpine)
2021-04-20 10:36:29 +01:00
HoneyryderChuck
b474dee12c
update init script, don't need to install so much
2021-04-20 10:36:29 +01:00
HoneyryderChuck
a6718b7ab1
ditch alpine, use base images
2021-04-19 15:43:52 +01:00
HoneyryderChuck
81ce3686d5
Merge branch 'improvements' into 'master'
...
improvements
Closes #118
See merge request honeyryderchuck/httpx!127
2021-04-12 17:01:46 +00:00
HoneyryderChuck
3cf47a4865
http2_settings -> wait_for_handshake option
...
(false by default) when true, requests will be immediately buffered
before HTTP/2 handshake is complete.
2021-04-12 16:38:12 +01:00
HoneyryderChuck
351276dcb5
added support for multiple header frame received callback calls, by merging them (trailer header case)
2021-04-12 16:38:11 +01:00
HoneyryderChuck
82dc700059
callbacks: use symbol comparison instead, even at the cost of an yoda cond
2021-04-12 00:26:53 +01:00
HoneyryderChuck
bc6bc903fc
moved default options out of the initializer
2021-04-08 17:46:54 +01:00