0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-16 13:10:24 +00:00
Commit graph

35 commits

Author SHA1 Message Date
Loïc Hoguin
633aa89f00
Fix intermittent test failures in rfc7540_SUITE 2018-05-22 13:05:15 +02:00
Loïc Hoguin
dc58eea9b4
Ensure tests in rfc7540_SUITE can be repeated 2018-05-22 13:04:42 +02:00
Loïc Hoguin
ae6c787062
Honor the SETTINGS_ENABLE_PUSH from clients
This fixes curl when fetching resources that use push.
2018-05-16 11:00:25 +02:00
Loïc Hoguin
3ebd01805f
Fix some intermittent test issues in rfc7540 2018-04-30 14:23:38 +02:00
Loïc Hoguin
7d4791b32c
Fix some rfc7540 tests that had an empty :path 2018-04-30 13:48:34 +02:00
Loïc Hoguin
8d1f468ac0
Reject HTTP/2 requests with a body size different than content-length 2018-04-30 13:47:33 +02:00
Loïc Hoguin
17349fafc2
Add tests for rejecting streams depending on themselves 2018-04-29 20:32:36 +02:00
Loïc Hoguin
84b4128d06
Receive and ignore HTTP/2 request trailers if any
This is a first step toward properly supporting request trailers.
2018-04-29 17:39:48 +02:00
Loïc Hoguin
2db5ffbf84
Add SETTINGS ack timeout and option settings_timeout 2018-04-28 11:00:50 +02:00
Loïc Hoguin
add71bfb7e
Fix intermittent test failures for rfc7540 2018-04-28 00:53:12 +02:00
Loïc Hoguin
5d5a00c863
Fix an rfc7540 test to have a different error reason 2018-04-27 20:19:02 +02:00
Loïc Hoguin
9a29aea148
Add options controlling maximum h2 frame sizes 2018-04-27 17:58:37 +02:00
Loïc Hoguin
d38d86c4a9
Add options controlling initial control flow windows 2018-04-26 22:08:05 +02:00
Loïc Hoguin
7373822b86
Add the max_concurrent_streams h2 option 2018-04-25 21:32:58 +02:00
Loïc Hoguin
8f4adf437c
Add options to control h2's SETTINGS_HEADER_TABLE_SIZE 2018-04-25 16:55:52 +02:00
Loïc Hoguin
8b9a09c9fe
HTTP/2 informational responses don't end the stream 2018-04-23 15:49:34 +02:00
Loïc Hoguin
19054e40e0
Fix crash in cowboy_http2 when content-length is invalid 2018-02-28 16:18:29 +01:00
Loïc Hoguin
bec9a43d50
Fix a broken test case in the rfc7540 suite 2017-11-29 17:52:09 +01:00
Loïc Hoguin
bd6c32d3b7
Fix an intermittent test failure in the rfc7540 suite 2017-11-29 17:17:22 +01:00
Loïc Hoguin
cf3ab5832a
Add nowarn_export_all to all test suites 2017-11-29 16:57:10 +01:00
Loïc Hoguin
73126e7693
Add many rfc7540 tests, improve detection of malformed requests 2017-11-29 14:54:47 +01:00
Loïc Hoguin
4cdd1aa70e
Add more flow control tests to rfc7540 and fix related issues 2017-11-27 22:49:50 +01:00
Loïc Hoguin
7f80ff28a5
Add more rfc7540 tests along with their respective fixes 2017-11-27 19:00:35 +01:00
Loïc Hoguin
bc82679330
Fix a few rfc7540 tests
Cowboy takes a few shortcuts to avoid wasting resources when
there is a protocol error. The RFC wants us to send a different
error depending on the state of the stream at the time of the
error, and for us to maintain the connection in cases where we
would have to spend valuable resources to decode headers. In
all these cases Cowboy will simply close the connection with
an appropriate error.
2017-11-27 13:42:04 +01:00
Loïc Hoguin
e7114577bb
Fix a bug in HTTP/2 where connection gets closed prematurely
When the user code was sending a response fully without reading
the request body, the connection could get closed when receiving
DATA frames for that body. We now ask the client to stop sending
data via a NO_ERROR RST_STREAM, and linger any stream that has
been reset so that we can skip any pending frames from that
stream.

This fixes a number of intermittent failures in req_SUITE, which
now passes reliably.

In addition a small number of rfc7540_SUITE test cases have been
corrected as they were incorrect.
2017-10-23 14:49:33 +01:00
Loïc Hoguin
9ef4536656
Add many tests for RFC7540 5.1 and 5.1.1 and related fixes 2017-05-23 14:09:38 +02:00
Loïc Hoguin
0d81dc04f1
Add more HTTP/2 tests for RFC7540 4.1 and 4.3 2017-03-02 19:35:24 +01:00
Loïc Hoguin
bb83a6ce33
Unknown HTTP/2 frames are ignored 2017-02-26 13:24:15 +01:00
Loïc Hoguin
a3636adcac
Add many test cases covering RFC7540 4.2
These tests cover frame sizes. It's mostly edge cases for sure
(ie misbehaving clients and us having to reject them properly).
I had these almost ready for a long time, so I'm glad I can
push them out.

This requires updating Cowlib too (we currently track master).
2017-02-25 20:05:31 +01:00
Loïc Hoguin
43adacc760
Welcome to 2017 2017-01-02 19:36:36 +01:00
Loïc Hoguin
45158c1da4 Clarify comments about remaining tests to add to rfc7540_SUITE 2016-03-14 00:00:00 +01:00
Loïc Hoguin
3969c31824 Fix most remaining HTTP/2 handshake tests
One category of tests involving the SETTINGS ack still fails.
It is probably wise to leave these until more SETTINGS related
tests are written.
2016-03-13 23:14:57 +01:00
Loïc Hoguin
2620d65fde Fix more HTTP/2 handshake test cases 2016-03-13 11:26:26 +01:00
Loïc Hoguin
4e6a4ee53f Add initial HTTP/1.1 Upgrade to HTTP/2
The same edge cases that fail with other handshake methods
also fail here (mostly bad preface/timeouts stuff). In
addition, the HTTP2-Settings header contents are currently
not checked and so the related edge case tests also fail.
2016-03-12 18:25:35 +01:00
Loïc Hoguin
92edad53d2 Add the beginning of the rfc7540 test suite
Currently only testing handshake.

Tests that pass currently involve no request/response.
ALPN and prior knowledge support have some edge cases left to fix.
HTTP/1.1 Upgrade has not been implemented yet.
2016-03-10 23:30:49 +01:00