Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-11-12 | Update copyright years | Loïc Hoguin | |
2020-11-12 | Review and remove many todos | Loïc Hoguin | |
HTTP/1.1 Upgrade to HTTP/2 will not be implemented. There are discussions for this functionality to be removed from the HTTP/2 spec. HTTP/1.1 Upgrade to TLS will most likely not be implemented. | |||
2020-11-06 | Make CONNECT responses produce a response_end event | Loïc Hoguin | |
While the stream has not ended, the response has. | |||
2020-11-06 | Fix IsFin mismatch in HTTP/2 CONNECT response | Loïc Hoguin | |
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. | |||
2020-11-02 | Initial implementation of Websocket over HTTP/2http2-websocket | Loïc Hoguin | |
2020-10-21 | Fix cookie handling when tunnel and origin schemes mismatch | Loïc Hoguin | |
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. | |||
2020-10-19 | Fix cookies for tunnels | Loïc Hoguin | |
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. | |||
2020-10-16 | Remove commented code | Loïc Hoguin | |
2020-10-16 | Add or fix events inside or related to CONNECT tunnels | Loïc Hoguin | |
2020-10-07 | Propagate timeouts to the right layer in HTTP/2 tunnels | Loïc Hoguin | |
This temporarily depends on Cowlib master. | |||
2020-10-07 | Default keepalive to infinity for all protocols | Loïc Hoguin | |
For HTTP/2 some servers are not fond of receiving pings, especially if there's no stream at the time. (particularly gRPC servers). This is an odd decision for sure. Rather than trying to accomodate for their logic the ping is no longer sent by default. For Websocket sending a ping is a new feature in Gun 2.0 so I'm just being conservative there. | |||
2020-10-05 | Improve some 'todo' return values and arguments | Loïc Hoguin | |
While most of this functionality isn't implemented this is not a reason to let them return invalid values. | |||
2020-10-03 | Fix Dialyzer warnings | Loïc Hoguin | |
2020-10-03 | Add tunnel_SUITE testing all 3-layer combinations | Loïc Hoguin | |
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. | |||
2020-09-21 | Ensure the right stream_ref is passed around HTTP/2 tunnels | Loïc Hoguin | |
2020-09-21 | Fix compilation and Dialyzer warnings | Loïc Hoguin | |
2020-09-21 | Fix gun:stream_info/2 when gun_tunnel is involved | Loïc Hoguin | |
2020-09-21 | Initial success for h2 CONNECT -> https CONNECT -> https | Loïc Hoguin | |
2020-09-21 | Add test HTTP/2 CONNECT -> HTTP/1.1 CONNECT -> origin | Loïc Hoguin | |
Implements gun:connect with a tunnel. | |||
2020-09-21 | Add more HTTP/2 CONNECT tests | Loïc Hoguin | |
2020-09-21 | Add a gun:stream_ref() type and fix Dialyzer | Loïc Hoguin | |
2020-09-21 | Refactor protocol handling via gun_protocols | Loïc Hoguin | |
2020-09-21 | Few more tests and fixes | Loïc Hoguin | |
2020-09-21 | Replace gun_tunnel_up/3 message with /4 variant | Loïc Hoguin | |
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. | |||
2020-09-21 | Rename the 3-arity gun_socks_up to gun_tunnel_up | Loïc Hoguin | |
2020-09-21 | Add gun_tunnel_up message to HTTP/2 CONNECT | Loïc Hoguin | |
2020-09-21 | First working HTTPS over secure HTTP/2 | Loïc Hoguin | |
Has a timer:sleep/1 though because there is currently no way to wait for the TLS handshake to complete. | |||
2020-09-21 | Make gun_socks_up stream-specific for HTTP/2 CONNECT | Loïc Hoguin | |
2020-09-21 | Make HTTP/2 CONNECT to a SOCKS server work | Loïc Hoguin | |
2020-09-21 | Add HTTP/2 CONNECT tests with Cowboy as origin | Loïc Hoguin | |
2020-09-21 | Add the base_stream_ref to gun_http/gun_http2 | Loïc Hoguin | |
2020-09-21 | HTTP/2 over HTTP/2 CONNECT | Loïc Hoguin | |
2020-09-21 | Improve HTTP/2 CONNECT to non-HTTP origin | Loïc Hoguin | |
Now has a proper StreamRef given to it by the CONNECT stream. | |||
2020-09-21 | Make gun:stream_info/2 return intermediaries for HTTP/2 CONNECT | Loïc Hoguin | |
2020-09-21 | Initial HTTP/2 CONNECT implementation | Loïc Hoguin | |
2020-04-16 | Empty the commands queue when returning | Loïc Hoguin | |
2020-03-12 | Make Gun use the cookie store when configured to | Loïc Hoguin | |
2020-02-27 | Remove two unnecessary clauses | Loïc Hoguin | |
As reported by Dialyzer. | |||
2020-02-27 | Use specific error when HTTP/2 receives HTTP/1 response | Loïc Hoguin | |
2020-02-27 | Detect invalid HTTP/2 preface errors | Loïc Hoguin | |
And make sure all HTTP/2 connection_error(s) result in a gun_down message containing the error. In the preface case we do not send a gun_error message (because there's no stream open yet) and gun_down was always saying normal. Also make sure the human readable reason is included in the gun_error message, if any. | |||
2020-02-10 | Handle cow_http2_machine timeouts | Loïc Hoguin | |
2019-11-04 | Fix a crash introduced in the previous commit | Loïc Hoguin | |
2019-10-17 | Use maps for looking up HTTP/2 streams | Loïc Hoguin | |
This should be much faster than using lists:keyfind and friends. This matters for connections that have a lot of concurrent streams. | |||
2019-10-01 | Cowlib no longer returns lingering_data tuples | Loïc Hoguin | |
2019-09-26 | Don't send duplicate gun_error messages to the same process | Loïc Hoguin | |
2019-09-26 | Remove UnprocessedStreams from the gun_down message | Loïc Hoguin | |
2019-09-26 | Add reply_to option to ws_upgrade; remove notowner entirely | Loïc Hoguin | |
The reply_to option is also propagated when we switch protocols. | |||
2019-09-24 | Add auto-ping to Websocket and a silence_pings option | Loïc Hoguin | |
The auto-ping will at regular interval send a ping frame. The silence_pings option defaults to true. It can be set to false when the user needs to receive ping/pong frames. | |||
2019-09-23 | Accept all cow_http2_machine options | Loïc Hoguin | |
2019-09-22 | Rework state transitions resulting from from protocol changes | Loïc Hoguin | |