Commit Graph

122 Commits

Author SHA1 Message Date
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
c1d57d6efe decode H2 HeadersFrame in h2quic responseWriter tests
fixes #455
2017-02-28 11:05:51 +07:00
Lucas Clemente
5a3823a5db Merge pull request #445 from lucas-clemente/close-remote
Remove stream.CloseRemote from public API
2017-02-25 10:42:58 +01:00
Marten Seemann
a972c7a21e return the encryption level of a packet when decrypting it 2017-02-25 08:27:08 +07:00
Lucas Clemente
b2177c92d8 remove stream.CloseRemote from public API 2017-02-24 18:44:40 +01: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
48dee2708e implement a Serve method for the Listener 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
824f122a79 remove unused StreamCallback 2017-02-22 23:03:08 +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
a96211f724 create 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
f47142eaac remove stream ID from OpenStream() method 2017-02-22 23:03:05 +07:00
Marten Seemann
8cd1e4484c fix flaky h2quic client tests
fixes #435
2017-02-22 22:55:51 +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
268841f0cc add a TLSClientConfig to the QUIC RoundTripper
fixes #407
2017-02-04 10:28:00 +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
7284a74332 fix another flaky h2quic client test 2017-01-16 16:23:34 +07:00
Marten Seemann
f08e00630d fix flaky h2quic client test 2017-01-16 12:22:03 +07:00
Marten Seemann
e3b34f2120 implement sending of the request body 2017-01-14 19:00:22 +07:00
Marten Seemann
6dd297379b set EndStream header in HeadersFrame 2017-01-14 18:58:47 +07:00
Marten Seemann
1854279bb5 reject requests with an invalid request method 2017-01-14 18:58:46 +07:00
Marten Seemann
feec325083 validate HTTP headers and request scheme in RoundTripper 2017-01-14 18:58:46 +07:00
Marten Seemann
1061bd4492 reject requests with missing URL or Header in the RoundTripper 2017-01-14 18:58:46 +07:00
Marten Seemann
128bad04e5 add option to disable compresson to QuicRoundTripper 2017-01-14 18:58:45 +07:00
Marten Seemann
d028624f77 implement compressed requests and responses 2017-01-14 18:58:45 +07:00
Marten Seemann
edb34b1765 close the quic client on protocol errors in h2quic client 2017-01-14 18:58:45 +07:00
Marten Seemann
44271a8ec8 fix mutexes for writing requests in h2quic client 2017-01-14 18:58:45 +07:00
Marten Seemann
40a6577dc3 implement a basic QUIC RoundTripper 2017-01-14 18:58:44 +07:00
Marten Seemann
c547ced3ce correctly read the hostname from a http.Request 2017-01-14 18:58:44 +07:00
Marten Seemann
14135798c0 compose a http.Response in h2quic client 2017-01-14 18:58:44 +07:00
Marten Seemann
0401b12f8a handle the header stream in the h2quic client 2017-01-14 18:58:43 +07:00
Marten Seemann
08c267431b implement closing the quic client with an error 2017-01-14 18:58:43 +07:00
Marten Seemann
c42262c2b3 implement a h2quic client that can send H2 requests 2017-01-14 18:58:43 +07:00
Marten Seemann
a8bbe66d5c use a better mockStream in h2quic tests 2017-01-14 18:58:40 +07:00
Marten Seemann
4130c3de32 send priority in H2 request headers
is required by Google’s QUIC implementation
2017-01-14 18:54:18 +07:00
Marten Seemann
099e01f410 implement a basic request writer 2017-01-14 18:54:18 +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
a86f31d789 implement a stream.Reset() method
ref #380
2017-01-09 09:49:44 +07:00
Marten Seemann
53d2290a59 only allow writing a response body for status codes that allow bodies
fixes #386
2017-01-07 09:49:22 +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