Commit Graph

92 Commits

Author SHA1 Message Date
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
Lucas Clemente
ef977ee059 make h2quic.responseWriter implement http.Flusher as NOP
fixes #330
2016-10-14 11:35:10 +02:00
Lucas Clemente
a6652deb2b add a h2quic.ListenAndServe method that listens on TCP in parallel
fixes #327
2016-10-09 10:23:59 +02:00
Lucas Clemente
5c43a55f5d fix a bug in h2server where tls config could be ignored 2016-10-09 10:14:38 +02:00
chestnutprog
02b50e2ffb fix writing of multiple headers with the same name 2016-10-05 11:52:06 +02:00
Lucas Clemente
5ffc2f539d add support for version 36
fixes #312
2016-09-04 23:33:31 +02:00
Lucas Clemente
e856c08645 write http headers in lower case
fixes #317
2016-09-04 11:38:10 +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
Lucas Clemente
081807215a fix flaky h2quic tests
fixes #272
2016-08-10 18:47:25 +02:00
Lucas Clemente
8c5a3dabd6 set RemoteAddr in http request objects
fixes #266
2016-08-09 11:50:27 +02:00
Lucas Clemente
3e42d1da0f fix flaky h2quic tests
fixes #260
2016-08-06 17:27:16 +02:00
Lucas Clemente
2097509d16 fix go vet warning 2016-08-06 14:45:11 +02:00
Lucas Clemente
c46e93c752 drop support for v31
fixes #214
2016-07-29 15:22:56 +02:00
Lucas Clemente
1712a7388f drop support for v30
fixes #213
2016-07-29 15:22:56 +02:00
Marten Seemann
8aad920aa9 enable support for QUIC 34
fixes #55
2016-07-29 19:00:20 +07:00
Lucas Clemente
7ab2eb1b93 improve error message when closing a connection
fixes #228
2016-07-29 12:20:01 +02:00
Marten Seemann
459080a6dc fix flaky tests on Travis 2016-06-11 13:24:28 +07:00
Marten Seemann
1491bc20f4 fix flaky tests on AppVeyor 2016-06-09 12:24:25 +07:00
Marten Seemann
0f9e15e2c9 fix h2quic syscall test assertion on windows 2016-06-08 20:17:10 +07:00
Marten Seemann
13513097ce log StreamID of data stream for H2 requests in debug mode 2016-06-07 14:03:56 +07:00
Lucas Clemente
531fc718b5 properly close h2 streams fin bit in h2 header set 2016-06-06 22:05:51 +02:00
Lucas Clemente
d5aced6e03 small linter & typo fixes 2016-06-06 09:37:17 +02:00