Commit Graph

15 Commits

Author SHA1 Message Date
Marten Seemann
61ca8e89fe http3: ignore context after response when using DontCloseRequestStream (#3473) 2022-07-24 11:58:12 -07:00
Marten Seemann
3eed9d1104 don't close the stream if it was hijacked 2022-06-09 10:51:23 +02:00
Marten Seemann
6fa7494c2f add a http3.HTTPStreamer, allowing users to take over the HTTP/3 stream 2022-06-09 10:51:23 +02:00
Marten Seemann
04d46526c7 refactor HTTP/3 stream handling to use a dedicated stream
Reading from and writing onto this stream applies HTTP/3 DATA framing.
2022-06-09 10:51:23 +02:00
Marten Seemann
6d4a694183 add LocalAddr and RemoteAddr functions to http3.StreamCreator (#3384) 2022-04-16 06:09:01 -07:00
Marten Seemann
448e8bcf05 add a stream ID getter function to the body 2022-04-03 14:28:15 +01:00
Marten Seemann
48a2cce9df implement HTTP/3 stream hijacking 2022-04-03 14:28:15 +01:00
Marten Seemann
57461e01b5 add a http3.Hijacker that allows stream creation on a QUIC session from a http.Response.Body 2022-04-03 14:28:15 +01:00
Marten Seemann
90727cb41a introduce a quic.StreamError type and use it for stream cancelations 2021-05-01 09:39:52 +07:00
Marten Seemann
42b61729bd expose the TransportError and the ApplicationError 2021-05-01 09:38:49 +07:00
Marten Seemann
83695e6f71 don't close the stream when the http.Request.Body is closed
On the server side, the http.Request is consumed by the HTTP handler.
The HTTP handler may close the body (it doesn't have to though). In any
case, closing the stream is the wrong thing to do, since that closes the
write side of the stream. All we want to do is cancel the stream (if the
EOF hasn't been read yet).
2020-06-02 14:54:21 +07:00
Marten Seemann
fe6cda98eb close the connection on unexpected frames when reading a HTTP/3 body 2019-10-25 09:39:40 +07:00
Marten Seemann
0a298f2aef implement client-side request cancelations 2019-08-24 09:47:49 +07:00
Marten Seemann
39e29d8364 fix closing of http.Response and http.Request bodies 2019-08-21 16:30:02 +07:00
Marten Seemann
4f6d0e651a implement HTTP/3 2019-04-11 09:06:10 +09:00