Ivan Trubach
0ec8ee3cff
do not embed http.Server in http3.Server ( #3397 )
...
This change removes the embedded http.Server struct from http3.Server.
It slightly changes some error behavior, in particular, it mandates
TLSConfig for methods that create QUIC listeners.
Before this change, only Addr, TLSConfig, Handler and MaxHeaderBytes
options were used from the http.Server. These are now defined directly
in http3.Server with an improved documentation.
2022-05-20 02:53:23 -07:00
Chao Fei
60bbe92194
remove error return value from ComposeVersionNegotiation ( #3410 )
2022-05-12 08:03:39 -07:00
Chao Fei
b9a77af8f9
don't set receive buffer if it is already large enough ( #3407 )
2022-05-12 04:24:37 -07:00
Didrik Nordström
d39a33f921
clone TLS conf in newClient ( #3400 )
...
Fixes #3394
2022-05-12 03:27:25 -07:00
hareku
0a08d62dea
remove warning comments of stable implementation ( #3399 )
2022-05-05 01:45:54 -07:00
Marten Seemann
5dedb7e12c
fix parsing of request path for Extended CONNECT requests ( #3388 )
2022-04-25 04:20:58 -07:00
Marten Seemann
d5961e9d60
update docs to reflect that we support RFC 9221 (Unreliable Datagrams) ( #3382 )
2022-04-25 04:10:51 -07:00
Marten Seemann
21eda36971
fix deadlock on concurrent http3.Server.Serve and Close calls ( #3387 )
2022-04-25 04:10:39 -07:00
Marten Seemann
a6a9b2494b
reduce flakiness of deadline integration tests ( #3383 )
2022-04-25 04:00:33 -07:00
Marten Seemann
8bcb6337d1
protect against concurrent use of Stream.Write ( #3381 )
2022-04-25 03:58:24 -07:00
Marten Seemann
ec118e440c
protect against concurrent use of Stream.Read ( #3380 )
2022-04-25 03:58:11 -07:00
hareku
823c609be4
Expose quic server closed err ( #3395 )
...
* expose quic server closed error
* http3.Server's serving method returns http.ErrServerClosed when quic listener is closed
* Revert "http3.Server's serving method returns http.ErrServerClosed when quic listener is closed"
This reverts commit fb1f244440 .
2022-04-25 03:10:55 -07:00
hareku
1a0d577854
implement HTTP/3 unidirectional stream hijacking ( #3389 )
...
* implement HTTP/3 unistream hijacking
* Apply suggestions from code review
Fixed name consistency.
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
* rename unistream to unidirectional stream
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2022-04-21 09:51:18 -07:00
Marten Seemann
6d4a694183
add LocalAddr and RemoteAddr functions to http3.StreamCreator ( #3384 )
2022-04-16 06:09:01 -07:00
Marten Seemann
21160a02ff
Merge pull request #3362 from lucas-clemente/webtransport
...
extend the HTTP/3 API for WebTransport support
2022-04-16 13:51:25 +01:00
Marten Seemann
ff6313fdb3
make the responseWriter hijackable
2022-04-03 14:28:15 +01:00
Marten Seemann
a983db0301
pass the connection to the client's StreamHijacker callback
2022-04-03 14:28:15 +01:00
Marten Seemann
448e8bcf05
add a stream ID getter function to the body
2022-04-03 14:28:15 +01:00
Marten Seemann
eddb2b819a
add a stream ID getter function to the responseWriter
2022-04-03 14:28:15 +01:00
Marten Seemann
9c8cdeda57
allow HTTP clients to set the number of incoming streams in quic.Config
2022-04-03 14:28:15 +01:00
Marten Seemann
48a2cce9df
implement HTTP/3 stream hijacking
2022-04-03 14:28:15 +01:00
Marten Seemann
a54816867f
make it possible to set settings unknown to the http3 package
2022-04-03 14:28:15 +01:00
Marten Seemann
57461e01b5
add a http3.Hijacker that allows stream creation on a QUIC session from a http.Response.Body
2022-04-03 14:28:15 +01:00
Marten Seemann
332473668a
remove unneeded network from custom dial function used in HTTP/3 ( #3368 )
2022-04-03 06:27:55 -07:00
Marten Seemann
fa0dba963a
Merge pull request #3367 from lucas-clemente/update-golangci-lint
...
stop using the deprecated net.Error.Temporary, update golangci-lint to v1.45.2
v0.27.0
2022-04-03 12:43:45 +01:00
Marten Seemann
7c63050da1
remove deprecated scopelint linter from golangci-lint
2022-04-02 20:36:18 +01:00
Marten Seemann
42bfe5aa70
add a nolint directive for the use of net.Error.Temporary when reading from conn
2022-04-02 20:35:43 +01:00
Marten Seemann
4f85f45f0a
stop using net.Error.Temporary in tests
2022-04-02 20:31:08 +01:00
Marten Seemann
0c6b3dfa93
run the updated version of gofumpt
2022-04-02 20:18:37 +01:00
Marten Seemann
7265441042
update golangci-lint to v1.45.2
2022-04-02 20:06:16 +01:00
Marten Seemann
d1498c360e
add support for serializing Extended CONNECT requests ( #3360 )
2022-04-02 11:55:42 -07:00
Marten Seemann
26fbf99275
Merge pull request #3364 from lucas-clemente/better-go-version-error
...
improve the error thrown when building with an unsupported Go version
2022-04-02 19:55:20 +01:00
Marten Seemann
ba697c5838
also throw an error for outdated Go versions
2022-03-30 16:05:21 +01:00
Marten Seemann
aef7ac0a48
improve the error thrown when building with an unsupported Go version
2022-03-30 15:44:59 +01:00
ignoramous
9620cc745c
remove nextdns from list of projects using quic-go ( #3363 )
...
ref: github.com/nextdns/nextdns/commit/538d0a85
2022-03-28 14:31:43 -07:00
Marten Seemann
d008a253b8
Merge pull request #3361 from lucas-clemente/rename-session
...
rename the Session to Connection
2022-03-27 14:06:59 +02:00
Marten Seemann
4b17343631
rename the session to connection
2022-03-27 12:50:14 +01:00
Marten Seemann
d7ad1b6b9b
rename the connection to rawConn
2022-03-27 12:28:43 +01:00
Marten Seemann
3126062aa7
rename files dealing with low level conns to sys_conn
2022-03-27 12:28:41 +01:00
Marten Seemann
f68b38635a
rename occurrences of session in HTTP/3 server and client
2022-03-27 11:27:25 +01:00
Marten Seemann
9bc32cd021
rename the SessionTracingKey to ConnectionTracingKey
2022-03-27 11:27:25 +01:00
Marten Seemann
a088ba4607
rename quicConn.earlySessionReady to quicConn.earlyConnReady
2022-03-27 11:27:25 +01:00
Marten Seemann
1ae835d1d8
rename occurrences of session in client, server and packetHandlerMap
2022-03-27 11:27:25 +01:00
Marten Seemann
86338d3ce0
rename the sessionRunner to connRunner
2022-03-27 11:27:25 +01:00
Marten Seemann
97690dc493
rename the closed session to closed conn
2022-03-27 11:27:25 +01:00
Marten Seemann
e7c2e7e147
rename the quicSession to quicConnection
2022-03-27 11:27:25 +01:00
Marten Seemann
6aaa9a817c
rename the EarlySession to EarlyConnection
2022-03-27 11:27:25 +01:00
Marten Seemann
fda9f72161
replace usages of session in variable names
2022-03-27 11:27:25 +01:00
Marten Seemann
e71c236232
rename the Session to Connection
2022-03-27 11:27:23 +01:00
Marten Seemann
42f3159497
Merge pull request #3359 from lucas-clemente/http3-dial-context
...
respect the request context when dialing
2022-03-25 10:27:43 +01:00