Commit Graph

65 Commits

Author SHA1 Message Date
Marten Seemann
683230372e use a buffered writer for the http3 response writer 2020-04-02 15:15:29 +07:00
Marten Seemann
43dfc7281f update H3 and hq to -27 2020-03-01 12:22:07 +07:00
Marten Seemann
3b1e6118da Merge pull request #2371 from lorenzosaino/fix-http3-client-close
Make http3.client.Close() succeed if session was not started
2020-02-28 12:00:50 +07:00
Marten Seemann
a44c81e210 fix race condition when creating the logger for the HTTP/3 server 2020-02-25 16:09:19 +07:00
Marten Seemann
383adb619c fix flaky HTTP/3 Server unit test 2020-02-24 16:19:37 +07:00
Marten Seemann
215ca4c155 remove stray GinkgoRecover() in http3.Server 2020-02-23 09:43:40 +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
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
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
2bac900862 Merge pull request #2319 from lucas-clemente/fix-stream-open-request-cancelation
use the HTTP request context when opening the request stream
2020-01-29 00:08:43 +07:00
Marten Seemann
a5120204cc use H3_NO_ERROR when closing the http3.Client 2020-01-26 17:37:22 +07:00
Marten Seemann
d2209ba553 use the HTTP request context when opening the request stream 2020-01-26 11:33:22 +07:00
Marin
44cc47a887 set remote address on http request 2020-01-14 13:30:26 +01:00
Marten Seemann
27549c5665 use the minimum of the two peers' max_idle_timeouts 2019-12-11 14:04:33 +04:00
Marten Seemann
e08b6b37c4 update the H3 ALPN to draft-24 2019-12-04 08:39:06 +07: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
672328ca30 Merge pull request #2184 from lucas-clemente/http3-read-frame-error
close the connection on unexpected frames when reading a HTTP/3 body
2019-10-26 06:47:37 +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
4719852db6 remove HTTP/3 PRIORITY frame 2019-10-25 09:00:46 +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
Marten Seemann
2ef8429ce1 Merge pull request #2166 from juliens/alt-svc
Fix Alt-Svc header
2019-10-14 05:17:25 +07:00
Julien Salleyron
3c08c885ae Handle new version format 2019-10-13 22:50:53 +02:00
Marten Seemann
772cf9facd fix flaky HTTP/3 client unit test 2019-10-13 06:14:49 -07:00
Julien Salleyron
ff89d42262 Fix alt-svc header 2019-10-12 19:07:16 +02:00
Marten Seemann
393695d774 fix flaky HTTP/3 client unit test 2019-10-01 10:14:21 +07:00
Marten Seemann
03ab56330b Merge pull request #2145 from lucas-clemente/http3-no-server-bidi-streams
don't allow a HTTP/3 server to create bidirectional streams
2019-09-27 09:42:52 +07:00
Marten Seemann
cc90dfadaf fix leaking request cancelation go routine in case an error occurred 2019-09-25 07:21:28 +07:00
Marten Seemann
c41b2e3cdd don't allow the server to create bidirectional streams 2019-09-17 15:57:55 +07:00
Marten Seemann
b6330461d6 rework stream / connection erros for the client 2019-09-14 10:26:56 +07: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
01bbb2b1df Merge pull request #2122 from lucas-clemente/serve-multiple-conns
implement serving multiple connections at the same time
2019-09-05 15:01:20 +07:00
Marten Seemann
717e6d5c96 implement serving multiple connections at the same time 2019-09-05 13:10:26 +07:00
Marten Seemann
93b1ff8e2c don't fake-implement the http.CloseNotifier interface 2019-09-05 11:47:46 +07:00
Marten Seemann
f9bbac8b04 update HTTP/3 errors 2019-09-04 12:06:17 +07:00
Marten Seemann
564bd6b7ba document that closing a http3.Server created by Serve doesn't close conn 2019-09-01 11:15:01 +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
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
f4621e280e remove stray TODO in the HTTP/3 client 2019-08-24 10:41:41 +07:00
Marten Seemann
0a298f2aef implement client-side request cancelations 2019-08-24 09:47:49 +07:00
Marten Seemann
f0a62c05df Merge pull request #2085 from lucas-clemente/harden-http3
check the size of HTTP3 HEADERS frames before allocating
2019-08-23 23:18:54 +07:00
Marten Seemann
363de010ca reject http3 responses that exceeded the header size limit 2019-08-22 12:08:02 +07:00
Marten Seemann
9294652ecc reject http3 requests that exceeded the header size limit 2019-08-22 10:23:51 +07:00
Marten Seemann
39e29d8364 fix closing of http.Response and http.Request bodies 2019-08-21 16:30:02 +07:00