Marten Seemann
30c91149c2
fill out the http.Response.TLS field
2020-11-02 11:29:42 +07:00
Marten Seemann
2839cbdcff
make it possible to set VersionTLS to a draft version
...
Go doesn't allow duplicate cases in a switch statement.
2020-11-02 11:29:42 +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
8752576f26
run gofumpt, enable the gofumpt linter
2020-10-26 09:33:35 +07:00
klzgrad
c81eeb8bb8
add support for the HTTP CONNECT method ( #2761 )
2020-09-10 18:05:55 +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
b8f36f35d5
fix HTTP request writing if the Request.Body reads data and returns EOF
2020-07-01 15:31:24 +07:00
Marten Seemann
0f9fa588b1
remove buffering of HTTP requests
...
Only the http.ResponseWriter implements the http.Flusher interface.
We need to make sure that writes to the Request.Body are actually sent out.
2020-06-27 10:26:24 +07:00
Marten Seemann
5f37327f1d
update the ALPN for draft-29
2020-06-12 10:06:23 +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
5720053807
simplify stream handling in the http3.Server
2020-06-02 14:39:48 +07:00
Marten Seemann
dbe925d74a
update the ALPN tokens to draft-28
2020-05-27 09:54:03 +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
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