Marten Seemann
f8a1711ce7
http3: fix flaky TestServerRequestHeaderTooLarge ( #5186 )
2025-05-31 09:58:20 +02:00
Marten Seemann
a39928c556
http3: fix flaky TestClientResponseValidation ( #5183 )
2025-05-31 09:48:45 +02:00
Marten Seemann
56ff2a58cc
http3: use actual QUIC connection in stream tests ( #5170 )
2025-05-30 06:47:53 +02:00
Marten Seemann
e539fc4e88
http3: fix flaky TestClientStreamHijacking ( #5169 )
2025-05-30 05:11:04 +02:00
Marten Seemann
e354463e64
http3: use actual QUIC connection in frames tests ( #5165 )
...
* http3: use actual QUIC connection in frames tests
* wait for handshake completion
2025-05-30 04:54:48 +02:00
Marten Seemann
9ef305508d
http3: use actual QUIC stream in state tracking stream tests ( #5166 )
...
* http3: use actual QUIC stream in state tracking stream tests
* avoid sleeps
2025-05-30 04:47:17 +02:00
Marten Seemann
d9528a5643
http3: use actual QUIC connection in transport tests ( #5164 )
2025-05-29 15:10:30 +02:00
Marten Seemann
4e81b28694
http3: use actual QUIC connection and stream in conn tests ( #5163 )
...
* http3: use actual QUIC connection and stream in conn tests
* add errror assertion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-29 14:42:36 +02:00
Marten Seemann
77dff99007
http3: use actual QUIC connection and stream in client tests ( #5162 )
2025-05-29 13:06:36 +02:00
Marten Seemann
293d45da4b
http3: use actual QUIC connection and stream in server tests ( #5161 )
2025-05-29 11:06:09 +02:00
Marten Seemann
5c3af443c1
http3: simplify HTTP datagram handling ( #5156 )
2025-05-29 06:23:05 +02:00
Marten Seemann
0b834e6f46
http3: convert Stream from an interface to a struct ( #5154 )
2025-05-29 05:41:40 +02:00
Marten Seemann
2675d0845f
http3: convert RequestStream from an interface to a struct ( #5153 )
2025-05-29 05:08:39 +02:00
Marten Seemann
eb7b7df1db
http3: migrate the state tracking stream tests away from Ginkgo ( #5151 )
2025-05-24 05:07:17 +02:00
Marten Seemann
5e5d03cf8d
http3: migrate the stream tests away from Ginkgo ( #5150 )
2025-05-23 16:07:00 +02:00
Marten Seemann
04eab22893
http3: fix off-by-one error when processing the GOAWAY stream ID ( #5145 )
2025-05-20 08:43:33 +02:00
Marten Seemann
363e0ccafb
http3: implement client-side GOAWAY handling ( #5143 )
...
When receiving a GOAWAY frame, the client:
* immediately closes the connection if there are no active requests
* refuses to open streams with stream IDs larger than the stream ID in
the GOAWAY frame
* closes the connection once the stream count drops to zero
2025-05-18 07:33:43 +02:00
Marten Seemann
06e8ee1bcf
http3: reset stream if the server sends too many 1xx responses ( #5144 )
2025-05-17 06:18:18 +02:00
Marten Seemann
77c401dcbb
http3: only retry requests for which it is safe to do so ( #5141 )
...
* add an integration test for HTTP/3 redialing logic
* http3: only retry requests for which it is safe to do so
2025-05-16 05:22:13 +02:00
Marten Seemann
fe02bc2b66
http3: fix flaky TestClientRequestLengthLimit ( #5137 )
2025-05-11 06:12:26 +02:00
Marten Seemann
50dd857c57
http3: migrate the connection tests away from Ginkgo ( #5133 )
2025-05-10 16:17:25 +02:00
Marten Seemann
6f8460a821
http3: keep datagram receive loop running on datagram for unknown stream ( #5136 )
2025-05-10 14:41:47 +02:00
Marten Seemann
3f97a011a7
http3: migrate the client tests away from Ginkgo ( #5096 )
...
* http3: migrate the client tests away from Ginkgo
* http3: add a client settings test
2025-05-10 05:24:21 +02:00
Marten Seemann
1725cb0878
http3: close QUIC listeners created by Server on graceful shutdown ( #5101 )
2025-05-08 08:22:11 +02:00
Marten Seemann
8296ba7d19
http3: don't close QUIC listeners created by the application ( #5129 )
2025-05-08 07:40:23 +02:00
Marten Seemann
44207b8e72
http3: reset request streams accepted after graceful shutdown ( #5116 )
...
* http3: reset request streams accepted after graceful shutdown
The server needs to let the client know that these streams
are not getting processed, using the H3_REQUEST_REJECTED
error code.
* add an integration test for graceful shutdown stream cancellations
2025-05-05 04:28:01 +02:00
Marten Seemann
e1a1251c84
http3: send GOAWAY frame in a new Goroutine ( #5114 )
...
Sending might block if the peer didn't grant enough flow
control credit.
2025-05-04 06:21:03 +02:00
Marten Seemann
9d06679273
http3: migrate the server tests away from Ginkgo ( #5085 )
...
* http3: migrate the server tests away from Ginkgo
* http3: add a test for server settings
2025-04-30 06:53:37 +02:00
Marten Seemann
41cc01890d
http3: return http.ErrServerClosed for ServeQUICConn after Server.Close ( #5095 )
2025-04-29 12:05:14 +02:00
Marten Seemann
5daf5b6535
http3: remove Alt-Svc entry when Server.Serve returns ( #5093 )
2025-04-29 05:58:10 +02:00
Marten Seemann
dae68d7ca0
http3: use a slice instead of a map to store active listeners ( #5087 )
...
* http3: use a slice instead of a map to store active listeners
This list will be relatively short, therefore it will be
more performant to use a slice instead of a map.
No functional change expected.
* http3: rename listenerInfo to listener
2025-04-29 04:08:41 +02:00
TheoTechnicguy
a9d8093eaf
http3: fix documentation for Hijacker and HTTPStreamer ( #5089 )
...
* http3: update documentation for `Hijacker`
The documentation for `Hijacker` seems to be legacy from
[v0.43.0](https://github.com/quic-go/quic-go/releases/tag/v0.43.0 ). This
commit updates the documentation to reflect the current API use.
* http3: update documentation for `HTTPStreamer`
The documentation for `HTTPStreamer` seems to be legacy from
[v0.43.0](https://github.com/quic-go/quic-go/releases/tag/v0.43.0 ). This
commit updates the documentation to reflect the current API use.
2025-04-29 03:55:43 +02:00
Marten Seemann
f2b1842d52
http3: use httptest.NewRequest ( #5086 )
...
No functional change expected.
2025-04-29 03:45:04 +02:00
Marten Seemann
e423d4d184
http3: migrate the frames tests away from Ginkgo ( #5067 )
2025-04-27 09:44:32 +02:00
Marten Seemann
d84d985b92
http3: migrate the body tests away from Ginkgo ( #5078 )
2025-04-26 15:48:34 +02:00
Marten Seemann
7437cff1e0
http3: migrate the datagram tests away from Ginkgo ( #5076 )
2025-04-24 08:23:56 +02:00
Marten Seemann
d678f9a86c
http3: migrate the response writer tests away from Ginkgo ( #5075 )
2025-04-23 13:52:22 +08:00
Marten Seemann
3d3922da47
http3: migrate the capsule tests away from Ginkgo ( #5073 )
2025-04-22 14:03:32 +02:00
Marten Seemann
ad0ffcbd37
http3: check response writer for http.ResponseController methods ( #5071 )
2025-04-22 13:37:26 +02:00
Marten Seemann
89d9984156
http3: simplify request writer by writing to an io.Writer ( #5070 )
...
It’s always preferable to use the most minimal interface.
2025-04-22 13:24:46 +02:00
Marten Seemann
f1c7a5df73
http3: migrate the headers tests away from Ginkgo ( #5068 )
2025-04-22 12:54:31 +02:00
Marten Seemann
4c9f6df723
http3: migrate the request writer tests away from Ginkgo ( #5069 )
2025-04-22 12:53:48 +02:00
Marten Seemann
b3f55bb7b7
use assert.AnError consistently in tests ( #5066 )
...
No functional change expected.
2025-04-21 03:52:08 +02:00
Marten Seemann
3fd4f95a3b
http3: simplify ConfigureTLSConfig ( #5011 )
...
The previous logic allowed for setting different ALPN
values depending on the QUIC version in use. This was
needed to set the draft ALPN value before publication of
the RFC.
2025-03-30 15:17:39 +02:00
Marten Seemann
1d8f3f281a
ci: update golangci-lint to v2 ( #5007 )
2025-03-30 07:16:14 +02:00
pittgi
3311514d67
http3: reject duplicate pseudo headers ( #4993 )
2025-03-16 03:52:25 +01:00
Marten Seemann
02e276ed70
http3: minor simplification of panic handling logic ( #4942 )
2025-01-28 04:27:09 +01:00
Marten Seemann
54b97a5079
http3: fix flaky transport tests ( #4900 )
2025-01-21 14:05:50 +08:00
Marten Seemann
ceabb6bd9a
http3: fix flaky TestTransportConnectionRedial ( #4884 )
2025-01-18 13:14:44 +08:00
Marten Seemann
0fd2decbd5
http3: rename singleRoundTripper interface to clientConn ( #4875 )
...
No functional change expected.
2025-01-16 14:37:00 +08:00