Commit graph

76 commits

Author SHA1 Message Date
Marten Seemann
4c6496bc0e simplify Read and Write mock calls in http3 tests 2020-12-21 14:41:22 +07:00
Marten Seemann
356c69944e return a quic.ConnectionState from Session.ConnectionState() 2020-12-09 15:31:23 +07:00
Marten Seemann
898f484d0a only allow the HTTP/3 client to dial with a single QUIC version 2020-11-02 11:29:42 +07:00
Marten Seemann
30c91149c2 fill out the http.Response.TLS field 2020-11-02 11:29:42 +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
bcffb77ad4 use a buffered writer for the http3 request writer 2020-04-02 15:15:29 +07:00
Marten Seemann
683230372e use a buffered writer for the http3 response writer 2020-04-02 15:15:29 +07:00
Lorenzo Saino
8db2288382 Make http3.client.Close() succeed if session was not started
Invoking http3.client.Close() before client.dial() is invoked
causes a segmentation fault. That occurs because, in this
circumstance, invoking client.Close() results in invoking
client.session.CloseWithError(...) while client.session is nil.

This commit changes the behavior of
http3.client.Close() to return nil if client.session
is nil and adds an associated test case.
2020-02-23 00:21:19 +00:00
Marten Seemann
91543322f6 define a new Method for 0-RTT GET requests on the http.Request 2020-01-29 11:34:06 +07:00
Marten Seemann
af1e8f4c78 handle request cancelations while waiting for handshake completion 2020-01-29 11:25:29 +07:00
Marten Seemann
1372e5dd5e use 0-RTT to open the H3 client's control stream 2020-01-29 11:06:44 +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
Marten Seemann
d2209ba553 use the HTTP request context when opening the request stream 2020-01-26 11:33:22 +07:00
Marten Seemann
27549c5665 use the minimum of the two peers' max_idle_timeouts 2019-12-11 14:04:33 +04: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
Marten Seemann
772cf9facd fix flaky HTTP/3 client unit test 2019-10-13 06:14:49 -07:00
Marten Seemann
393695d774 fix flaky HTTP/3 client unit test 2019-10-01 10:14:21 +07:00
Marten Seemann
b6330461d6 rework stream / connection erros for the client 2019-09-14 10:26:56 +07:00
Marten Seemann
ab65e39c3b
Merge pull request #2091 from lucas-clemente/request-cancelation
implement HTTP request cancelations
2019-08-31 17:32:25 +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
0a298f2aef implement client-side request cancelations 2019-08-24 09:47:49 +07:00
Marten Seemann
363de010ca reject http3 responses that exceeded the header size limit 2019-08-22 12:08:02 +07:00
Marten Seemann
2b8cece60a add a context to Session.Open{Uni}StreamSync 2019-06-22 19:37:21 +08: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
4f6d0e651a implement HTTP/3 2019-04-11 09:06:10 +09:00