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
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
Marten Seemann
9fba032637
set empty tls.ConnectionState in HTTP request
...
fixes #342
2016-11-02 16:48:17 +07:00
Marten Seemann
76cf0a2345
concatenate Cookie HPACK headers for the HTTP request
...
fixes #338
2016-11-01 19:54:14 +02:00
Marten Seemann
bb24be8281
set http.Request.ContentLength from HPACK headers
...
fixes #337
2016-10-29 16:12:35 +07:00