Commit Graph

55 Commits

Author SHA1 Message Date
Marten Seemann
79c7ed4ed1 dependency-inject quic.Listen and quic.ListenAddr in h2quic.Server 2017-07-10 21:57:31 +07:00
Lucas Clemente
bbf8977f64 Change h2quic.Server.Serve() to accept a net.PacketConn 2017-07-05 21:02:13 +02:00
Marten Seemann
a851aaacda remove the tls.Config from the quic.Config
The tls.Config now is a separate parameter to all Listen and Dial
functions in the quic package.
2017-07-03 22:12:09 +02:00
Marten Seemann
987905149b run gofmt to fix ordering of imports 2017-06-13 18:07:22 +02:00
Marten Seemann
c0b09c8646 make utils an internal package 2017-06-09 22:28:40 +02:00
Marten Seemann
30a0211243 implement a Listener.Accept() method 2017-05-15 20:37:29 +08:00
Marten Seemann
9db23eceed reverse the order of the SupportedVersions slice
For the client, the Versions option in the quic.Config encodes the first
entry is the preferred version. If not set, this should default to the
highest supported version.
2017-05-05 18:06:14 +08:00
Marten Seemann
b305cd674f make it possible to configure the QUIC versions for the server 2017-05-05 18:05:57 +08:00
Marten Seemann
7f416a06c4 send a HeadersStreamDataDecompressFailure error when H2 frame parsing fails
fixes #479
2017-03-15 11:11:38 +07:00
Lucas Clemente
b2177c92d8 remove stream.CloseRemote from public API 2017-02-24 18:44:40 +01: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
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
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
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
64bc80339e reset streams that the request body is not read from
fixes #384
2017-01-09 23:47:01 +07:00
Lucas Clemente
facaab7ff7 properly handle non-header h2 frames on stream 3
fixes #370
2016-12-14 11:54:26 +01: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
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
8c5a3dabd6 set RemoteAddr in http request objects
fixes #266
2016-08-09 11:50:27 +02:00
Lucas Clemente
7ab2eb1b93 improve error message when closing a connection
fixes #228
2016-07-29 12:20:01 +02: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
Lucas Clemente
c7324bbfe9 improve integration tests with new server.Serve API
this probably fixes the refused connections issue in #163
2016-06-03 13:31:15 +02:00
Lucas Clemente
3b5b4c1557 add h2quic.Server.Serve(*net.UDPConn) and improve server tests 2016-06-03 13:30:19 +02:00
Lucas Clemente
bd228ffe27 fix race conditions in h2quic.Server 2016-06-02 21:19:43 +02:00
Lucas Clemente
7ee5f96efd implement h2quic.Server.Close()
fixes #155
2016-06-01 15:35:08 +02:00
Lucas Clemente
a6c62d1a26 add a stub for CloseGracefully to h2quic.Server
ref #153, #124
2016-06-01 12:07:06 +02:00
Lucas Clemente
4b2ab55435 fix a race when multiple requests were handled at the same time
fixes #157
2016-05-31 19:05:33 +02:00
Lucas Clemente
a7afffe700 add a SetQuicHeaders function to h2quic.Server
fixes #156
2016-05-31 16:02:39 +02:00
Lucas Clemente
ae778fc042 add mock close method to h2quic.Server 2016-05-31 14:13:03 +02:00
Lucas Clemente
33edcc5e88 make h2quic.Server.Serve panic
ref #124
2016-05-30 17:18:10 +02:00
Lucas Clemente
25c34723a3 implement h2quic.Server.ListenAndServeTLS
ref #124
2016-05-30 17:14:59 +02:00
Lucas Clemente
6b1669c116 add ListenAndServeQUIC convenience function 2016-05-30 14:41:21 +02:00
Lucas Clemente
bf3d89c795 improve public quic and h2 APIs, embedding http.Server in h2quic.Server
ref #124
2016-05-30 14:19:25 +02:00
Lucas Clemente
3dc50821d6 close the rcv-end of a h2 stream when the HEADERS has END_STREAM set
fixes #109
2016-05-18 13:33:36 +02:00
Lucas Clemente
68b529a54c refactor session to remove second Close parameter
fixes #102
2016-05-17 14:56:33 +02:00
Lucas Clemente
d469a19b62 rename {New,GetOrCreate}Stream stream to {,GetOr}OpenStream 2016-05-15 18:51:23 +02:00
Lucas Clemente
73a1def2bd add private option to close h2 connections after first request
fixes #92
2016-05-14 14:16:26 +02:00
Lucas Clemente
06e824c14c ignore streams with id != 3 in h2quic server
fixes #89
2016-05-14 13:36:16 +02:00
Lucas Clemente
d1272650c3 add support for http client uploads
fixes #27
2016-05-13 13:01:45 +02:00
Lucas Clemente
a1f6289587 cleanup logs 2016-05-06 14:31:54 +02:00