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
There are several popular projects that utilize many of quic-go's implementation of http3 features that currently can't be used by caddy modules, limiting how caddy can be extended.
For example, ssh3 uses StreamHijacker to handle tcp and udp forwarding using an on-going quic.Connection. It uses http3.Hijacker to establish ssh3 sessions. We should also export a caddyhttp.Unwrap function to extract the underlying http.ResponseWriter in this case.
hysteria, a proxy protocol, uses StreamHijacker as well to handle tcp traffic forwarding. It uses a fork of quic-go which implemented bbr congestion control, but most of the interfaces are the same as the original quic-go.
webtransport-go uses http3.HTTPStreamer to take over the http stream. Currently if we enable logging, request body will be wrapped and we (lose the access)[https://github.com/caddyserver/caddy/blob/master/modules/caddyhttp/server.go#L322] to the underlying io.ReadCloser.
The text was updated successfully, but these errors were encountered:
There are several popular projects that utilize many of quic-go's implementation of http3 features that currently can't be used by caddy modules, limiting how caddy can be extended.
For example, ssh3 uses
StreamHijacker
to handle tcp and udp forwarding using an on-goingquic.Connection
. It useshttp3.Hijacker
to establish ssh3 sessions. We should also export acaddyhttp.Unwrap
function to extract the underlyinghttp.ResponseWriter
in this case.hysteria, a proxy protocol, uses
StreamHijacker
as well to handle tcp traffic forwarding. It uses a fork ofquic-go
which implemented bbr congestion control, but most of the interfaces are the same as the original quic-go.webtransport-go uses
http3.HTTPStreamer
to take over the http stream. Currently if we enable logging, request body will be wrapped and we (lose the access)[https://github.com/caddyserver/caddy/blob/master/modules/caddyhttp/server.go#L322] to the underlyingio.ReadCloser
.The text was updated successfully, but these errors were encountered: