You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The branch http2-connect has been merged. Some points remain for improved support though.
HTTP/2 timeouts are not propagated to the right layer. This will require Cowlib changes, hopefully not breaking changes.
Events are for the most part not triggered.
The set_cookie command is ignored when a tunnel uses it, and tunnels do not store cookie as a result. The set_cookie commands must be passed all the way down to the gun module.
The internals could use some documentation to remember how it all works, particularly around the TLS handling, with a distinction between HTTP/1.1 / SOCKS tunnels vs tunnels that involve HTTP/2.
Sometimes gun:stream_info will not return the reply_to pid for tunneled streams, it will return undefined. The switch_protocol command should be changed to add the reply_to value.
There's no error handling therefore errors will probably lead to crashes. The same applies to the connection being closed by the remote endpoint.
It is unclear how keepalive should be handled for tunnels.
There's no support for graceful shutdown for tunnel streams.
Graceful shutdown of the entire connection will not gracefully shut down tunnels.
Flow control has not been implemented. Thought need to be given over how it should be implemented, both for normal CONNECT and for HTTP/2 Websocket.
There seems to be no support for automatic transport detection based on the port number (like gun:open).
The code could also really use a good cleanup and todos to be solved.
The branch
http2-connecthas been merged. Some points remain for improved support though.gunmodule.reply_topid for tunneled streams, it will returnundefined. Theswitch_protocolcommand should be changed to add thereply_tovalue.The code could also really use a good cleanup and todos to be solved.