Commit Graph

77 Commits

Author SHA1 Message Date
Marten Seemann
d0897fa0b3 ignore HTTP2 PRIORITY frames in the server 2018-06-05 12:30:30 +02:00
Marten Seemann
948eef3e42 create a logger interface and use it everywhere 2018-04-04 13:03:28 +07:00
Marten Seemann
da49295b52 expose methods for opening and accepting unidirectional streams 2018-02-21 22:19:37 +08:00
Marten Seemann
7c9b18ea67 make the h2quic client test less racy 2018-02-01 22:35:53 +08:00
Marten Seemann
66fd3b5195 expose the ConnectionState in the Session
The ConnectionState contains basic details about the QUIC connection.
2018-01-11 16:27:42 +07:00
Marten Seemann
a1058c0d97 make h2quic.Server.ListenAndServe error if it was closed before 2017-12-20 17:26:32 +07:00
Marten Seemann
f662822486 use stream 0 for the crypto stream when using TLS 2017-11-04 15:22:07 +07:00
Marten Seemann
d98a11bb35 save version numbers such that can be written in big endian
This makes the version number representation consistent with the IETF
draft.
2017-10-27 17:24:24 +07:00
Lucas Clemente
ea4de9a08f Merge pull request #698 from twdkeule/implement-closeNotifier
implement the context for the server http.Request
2017-09-26 14:09:54 +02:00
Marten Seemann
f1ada87dcf make the protocol package internal 2017-08-30 00:19:44 +07:00
Thomas De Keulenaer
4f6eef8b08 Add test for request context 2017-08-27 20:05:13 +02:00
Thomas De Keulenaer
55a8979bd5 Added session context to http.Request 2017-08-27 20:05:13 +02:00
Lucas Clemente
75070d057b Fix import order 2017-08-21 12:25:27 +02:00
Lucas Clemente
8ec11c0b53 Move testdata/ to internal/ 2017-08-18 12:06:36 +02:00
Marten Seemann
f6e8ce5c67 make tests independent of the supported QUIC versions
Now it's no longer necessary to edit the h2quic tests when adding a new
QUIC version to the slice of supported versions.
2017-08-10 20:23:20 +07:00
Marten Seemann
e02f5d5fbe replace Session.WaitUntilClosed() by a context 2017-08-02 11:27:44 +07:00
Justin
33bb42488a Remove Alternate-Protocol header 2017-07-17 22:20:34 -04:00
Marten Seemann
d94b57fe29 expose the quic.Config in the h2quic.Server 2017-07-10 21:57:31 +07:00
Marten Seemann
79c7ed4ed1 dependency-inject quic.Listen and quic.ListenAddr in h2quic.Server 2017-07-10 21:57:31 +07:00
Marten Seemann
cd02cc8f0f add a method to the session that blocks until it is closed 2017-06-16 11:13:40 +02:00
Marten Seemann
c122428cb6 simply the dialing in the h2quic client
Fixes #620.
Dialing is now done lazily, when a request is executed.
2017-06-04 09:41:51 +02:00
Marten Seemann
0a2c37d42a add QUIC 37 to supported versions
fixes #375
Chrome tests are disabled for QUIC 37, since the Chrome version in the
docker image doesn’t support this version yet.
2017-04-29 16:59:32 +07:00
Marten Seemann
28c115fee1 drop support for QUIC 34
fixes #368
2017-03-19 20:57:28 +07:00
Marten Seemann
7f416a06c4 send a HeadersStreamDataDecompressFailure error when H2 frame parsing fails
fixes #479
2017-03-15 11:11:38 +07:00
Marten Seemann
34b688b3b9 add a LocalAddr to the Session 2017-03-10 00:07:27 +07:00
Marten Seemann
f5bbe316e8 use OpenStreamSync to open the data stream in the h2quic client 2017-03-06 14:55:46 +07:00
Marten Seemann
6f27b7f70d handle stream opening errors in h2quic client 2017-02-22 23:03:10 +07:00
Marten Seemann
96edca5219 privatize the client, only expose Dial functions 2017-02-22 23:03:09 +07:00
Marten Seemann
cd465ae0b5 move utils.Stream to quic.Stream 2017-02-22 23:03:09 +07:00
Marten Seemann
592ef45fdf add OpenStreamSync() method to Session interface 2017-02-22 23:03:09 +07:00
Marten Seemann
5029ab0934 implement a quic.Listener, privatize the Server 2017-02-22 23:03:07 +07:00
Marten Seemann
532d3caed1 remove GetOrOpenStream from Session interface 2017-02-22 23:03:07 +07:00
Marten Seemann
5b42675da2 use a net.PacketConn instead of a net.UDPConn in Server and Session 2017-02-22 23:03:07 +07:00
Marten Seemann
08191fc5d9 check if the data stream is already closed after parsing an HTTP request
fixes #414
2017-02-10 18:35:44 +07:00
Marten Seemann
b455f3ee6a fix flaky h2quic server test 2017-02-02 15:34:46 +07:00
Marten Seemann
7e0cb8072b don’t panic if a request handler replaces the request.Body
fixes #405
2017-01-28 23:00:34 +09:00
Marten Seemann
dfa0137bd6 close the connection when encountering an error on the header stream
fixes #403
2017-01-26 14:12:50 +09:00
Marten Seemann
a8bbe66d5c use a better mockStream in h2quic tests 2017-01-14 18:58:40 +07:00
Marten Seemann
cc153463b5 fix flaky h2quic server test
fixes #396
2017-01-14 18:38:04 +07:00
Marten Seemann
64bc80339e reset streams that the request body is not read from
fixes #384
2017-01-09 23:47:01 +07:00
Marten Seemann
0fc42896e0 remove stray println in test 2016-12-22 14:37:55 +07:00
Lucas Clemente
facaab7ff7 properly handle non-header h2 frames on stream 3
fixes #370
2016-12-14 11:54:26 +01:00
Carlos Martín Nieto
327856e31c Don't rely on GOPATH to load the certificates or error codes
GOPATH is a list of paths, similar to PATH. If someone does have a list
set, the tests will try to use the full list as a path prefix to load
the certificates, which won't work.

But even handling GOPATH as a list does not solve the issue of what
certificate or error_codes.go file to load, since the code might not be
under the first one it finds.

Instead, use the runtime functionality to get the filename of the path
of the project at compilation time and perform the lookups relative to
that, which guarantees that we're loading the files from the path of the
code that is running.
2016-12-02 13:52:12 +01:00
Lucas Clemente
5ffc2f539d add support for version 36
fixes #312
2016-09-04 23:33:31 +02:00
Lucas Clemente
8184ce050f remove v33 from supported versions 2016-09-01 20:26:31 +02:00
Marten Seemann
ad91d02cbd remove version 32 from SupportedVersions 2016-09-01 12:20:18 +02:00
Lucas Clemente
888a35c2fd enable support for version 35
fixes #281
2016-08-23 17:09:53 +02:00
Lucas Clemente
29df400cc1 correctly handle panicking http.Handler
fixes #290
2016-08-17 18:06:57 +02:00
Lucas Clemente
a4dcf5efd7 send 200 status for requests with empty http.Handlers
fixes #286
2016-08-16 12:31:07 +02:00
Lucas Clemente
3b5f975e37 remove two incorrect h2quic tests
fixes #276
2016-08-11 12:35:13 +02:00