-
-
Notifications
You must be signed in to change notification settings - Fork 237
Open
Description
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
gunmodule. - 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_topid for tunneled streams, it will returnundefined. Theswitch_protocolcommand should be changed to add thereply_tovalue. - 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.
Metadata
Metadata
Assignees
Labels
No labels