Marten Seemann
6f32d2df1d
don't reset the QPACK encoder / decoder streams
...
We don't need these streams, since our QPACK implementation doesn't use the
dynamic table yet. However, we MUST NOT close / reset these streams. Instead,
just ignore them.
2021-03-04 11:14:00 +08:00
Marten Seemann
35939b25a9
allow access to the underlying quic.Stream from a http.ResponseWriter
2021-01-17 14:35:21 +08:00
Marten Seemann
f9226887b4
rename ReadVarint / WriteVarInt / VarIntLen to Read / Write / Len
2021-01-02 00:15:07 +08:00
Marten Seemann
11c5045065
move varint encoding / decoding to a separate package
...
... which is not internal.
2021-01-01 11:46:45 +08:00
Marten Seemann
b47fe87e51
Merge pull request #2952 from lucas-clemente/reset-h3-uni-stream-when-type-unknown
...
cancel reading on unidirectional streams when the stream type is unknown
2020-12-29 07:42:24 +07:00
Marten Seemann
b753005137
check that QUIC layer negotiated datagram support when handing SETTINGS
2020-12-23 15:06:04 +07:00
Marten Seemann
0b0cb7c06f
add a http3.Server.EnableDatagram option
2020-12-23 15:06:04 +07:00
Marten Seemann
160c11bd34
cancel reading on unidirectional streams when the stream type is unknown
...
Otherwise the stream would remain open indefinitely.
2020-12-23 15:00:01 +07:00
Marten Seemann
f68dfd5c3b
Merge pull request #2949 from lucas-clemente/http3-control-streams
...
implement HTTP/3 control stream handling
2020-12-23 14:58:51 +07:00
Marten Seemann
04eebb7f6a
reject push streams initiated by the client
2020-12-23 14:47:16 +07:00
Marten Seemann
bf54ffe0df
accept the control stream and parse SETTINGS frame, for the H3 server
2020-12-23 14:47:14 +07:00
Marten Seemann
4c6496bc0e
simplify Read and Write mock calls in http3 tests
2020-12-21 14:41:22 +07:00
Marten Seemann
595f6f814a
introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout
2020-12-08 16:12:39 +07:00
Marten Seemann
9f14d82553
fix a crash in the http3.Server when GetConfigForClient returns nil
2020-12-03 16:51:32 +07:00
Marten Seemann
656490c9b1
explicitly set the supported versions in the HTTP/3 server test
2020-11-02 12:47:40 +07:00
Marten Seemann
5d1450bee7
use the QUIC versions from the quic.Config for setting Alt-Svc
2020-10-29 13:44:24 +07:00
Marten Seemann
c968b18a21
select the H3 ALPN based on the QUIC version in use (for the H3 server)
2020-10-29 13:44:23 +07:00
Marten Seemann
fb9f6b36d6
update qpack to v0.2.0
2020-08-08 16:11:09 +07:00
Marten Seemann
7d29cc31f8
remove the H3_EARLY_RESPONSE error
2020-07-27 12:01:53 +07:00
Marten Seemann
5720053807
simplify stream handling in the http3.Server
2020-06-02 14:39:48 +07:00
Marten Seemann
683230372e
use a buffered writer for the http3 response writer
2020-04-02 15:15:29 +07:00
Marten Seemann
383adb619c
fix flaky HTTP/3 Server unit test
2020-02-24 16:19:37 +07:00
phuslu
6de97fce55
Add LocalAddrContextKey/ServerContextKey to http3 request context
2020-02-01 20:36:13 +08:00
Marten Seemann
950f278362
accept 0-RTT request in the http3 server
2020-01-29 11:34:08 +07:00
Marten Seemann
bc25840519
use 0.5-RTT data to open the control stream in the http3 server
2020-01-29 10:40:06 +07:00
Marin
44cc47a887
set remote address on http request
2020-01-14 13:30:26 +01:00
Marten Seemann
b444ca613c
don't replace the ALPN in the tls.Config returned by GetConfigForClient
2019-11-09 17:26:52 +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
ea0050e2a2
update HTTP/3 errors
...
* rename HTTP_UNEXPECTED_FRAME to HTTP_FRAME_UNEXPECTED
* remove the HTTP_WRONG_STREAM error
* rename errors from HTTP_ to H3_
2019-10-23 09:43:47 +07:00
Julien Salleyron
f110af917b
Remove QUIC version hint
2019-10-21 17:18:02 +02:00
Julien Salleyron
3c08c885ae
Handle new version format
2019-10-13 22:50:53 +02:00
Julien Salleyron
ff89d42262
Fix alt-svc header
2019-10-12 19:07:16 +02:00
Marten Seemann
917cfc0d39
rework stream / connection erros for the server
2019-09-14 10:16:43 +07:00
Marten Seemann
7b88d8fdb5
Merge pull request #2112 from lucas-clemente/update-h3-errors
...
update HTTP/3 errors
2019-09-05 15:01:58 +07:00
Marten Seemann
717e6d5c96
implement serving multiple connections at the same time
2019-09-05 13:10:26 +07:00
Marten Seemann
f9bbac8b04
update HTTP/3 errors
2019-09-04 12:06:17 +07:00
Marten Seemann
328dd2c848
set the H3 ALPN on tls.Configs returned by GetConfigForClient
2019-08-24 15:23:37 +07:00
Marten Seemann
fd30146de5
replace the list of ALPN instead of appending to it in http3
2019-08-24 15:22:36 +07:00
Marten Seemann
9294652ecc
reject http3 requests that exceeded the header size limit
2019-08-22 10:23:51 +07:00
Marten Seemann
afa4615c4d
make sure the TLS config contains the H3 ALPN token in server and client
2019-05-20 17:55:59 +01:00
Marten Seemann
de6ab88437
add support for gzipped HTTP/3 requests
2019-04-16 17:26:03 +09:00
Marten Seemann
fa96c1a9ec
fix flaky HTTP/3 server test
2019-04-16 12:41:07 +09:00
Marten Seemann
4f6d0e651a
implement HTTP/3
2019-04-11 09:06:10 +09:00