Age | Commit message (Collapse) | Author |
|
If a request/headers/connect/ws_upgrade is created when a connection is in state
'closing', such as after receiving an HTTP/2 GOAWAY frame or an HTTP/1.1
"Connection: close" header, an error message is sent back to the caller
immediately, if reconnect is off (that is if the option retry is set to 0).
This allows an application to retry the request on another connection without
waiting for all streams on the current connection to complete.
|
|
|
|
Switching from /2 to /3 should be easy enough.
Also update the documentation about HTTP/2 Websocket support.
|
|
|
|
The main source file for the test tool h2specd was moved a
time ago, but correct one is used now.
Also make sure that gun sends the GOAWAY directly to avoid
timing issues in test 6.9.1 in h2specd_SUITE.
|
|
While the stream has not ended, the response has.
|
|
The response ends when the tunnel is established, even if the
stream itself does not. The data coming in on the stream after
is not part of the response.
This makes both HTTP/1.1 and HTTP/2 send 'fin' to successful
CONNECT responses.
|
|
|
|
The cookie_ignore_informational has been moved to http_opts and
http2_opts.
Also fix an issue when using 'protocols' in gun:open.
When connecting via TLS the protocol's options were
discarded.
|
|
There are still small issues left to fix. In particular the
set_cookie command should be replaced with doing the same
in the protocol itself so that the scheme is correct. So
CookieStore must be propagated to all callbacks.
|
|
It doesn't provide any new information compared to the other
events.
|
|
|
|
This temporarily depends on Cowlib master.
|
|
In the documentation headers passed to ws_upgrade are typed as
gun:req_headers(), however if a map of headers is passed (which is
allowed by the type), the gun process will crash when trying to operate
on it as if it were a list.
|
|
|
|
The test suite is 216 tests with a tunnel created via two
proxies leading to one origin server. The tests are for
example socks5_h2_https where socks5 identifies the first
SOCKS5 proxy, h2 the second HTTP/2 CONNECT proxy and https
the secure HTTP/1.1 origin server.
The test not only sets up the tunnel and does a request
(or sends/receives data in the case of raw origin servers)
but also confirms that the stream_info and info data is
correct.
|
|
|
|
|
|
Implements gun:connect with a tunnel.
|
|
|
|
|
|
Also fixes all the tests. Lots of work remain around protocols
(how best to pass the base stream_ref to them? maybe the current
solution, maybe a new argument to Protocol:init) and strengthen
the concept of stream_ref, at least with its own type.
|
|
|
|
|
|
Has a timer:sleep/1 though because there is currently no way
to wait for the TLS handshake to complete.
|
|
|
|
|
|
|
|
|
|
|
|
Now has a proper StreamRef given to it by the CONNECT stream.
|
|
|
|
|
|
|
|
Depending on timing the monitor may be applied after the Gun
process has started and stopped. In that case we run the test
again until timetrap_timeout.
|
|
|
|
|
|
|
|
|
|
Make sure we don't queue too much on the socket because in
that case Gun will just consume everything it's already got.
|
|
|
|
|
|
Also add a test for CONNECT to TLS via 2 TLS proxies.
|
|
|
|
Match inside the clause instead. This should make clearer
the occasional failure.
|
|
|
|
|
|
To attempt to fix a timetrap_timeout issue occuring sometimes.
I have little confidence about this fixing anything but it will
not hurt either.
|
|
Instead of timeouts, favor receiving events from the event
handler gun_test_event_h. Remove most other timeouts in particular
receive timeouts in favor of a Common Test timetrap timeout global
to this test suite of 30 seconds.
|
|
|