diff options
author | Anatoli Papirovski <apapirovski@mac.com> | 2018-05-17 23:03:15 +0400 |
---|---|---|
committer | Anatoli Papirovski <apapirovski@mac.com> | 2018-05-22 11:42:33 +0400 |
commit | b11e19e8eed059ddf473657c28c357987ca0015e (patch) | |
tree | 60bdfb764feb1c62ff6326ef1532ef567d5a42d4 /test/parallel/test-http2-client-destroy.js | |
parent | 4f0ab76b6c29da74b29125a3ec83bb06e77c2aad (diff) | |
download | node-new-b11e19e8eed059ddf473657c28c357987ca0015e.tar.gz |
http2: fix several serious bugs
Currently http2 does not properly submit GOAWAY frames when a session
is being destroyed. It also doesn't properly handle when the other
party severs the connection after sending a GOAWAY frame, even though
it should.
Edge, IE & Safari are currently unable to handle empty TRAILERS
frames despite them being correctly to spec. Instead send an empty
DATA frame with END_STREAM flag in those situations.
Fix and adjust several flaky and/or incorrect tests.
PR-URL: https://github.com/nodejs/node/pull/20772
Fixes: https://github.com/nodejs/node/issues/20705
Fixes: https://github.com/nodejs/node/issues/20750
Fixes: https://github.com/nodejs/node/issues/20850
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-http2-client-destroy.js')
-rw-r--r-- | test/parallel/test-http2-client-destroy.js | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/test/parallel/test-http2-client-destroy.js b/test/parallel/test-http2-client-destroy.js index 6238363511..43fc6819e2 100644 --- a/test/parallel/test-http2-client-destroy.js +++ b/test/parallel/test-http2-client-destroy.js @@ -109,9 +109,6 @@ const Countdown = require('../common/countdown'); server.listen(0, common.mustCall(() => { const client = h2.connect(`http://localhost:${server.address().port}`); - // On some platforms (e.g. windows), an ECONNRESET may occur at this - // point -- or it may not. Do not make this a mustCall - client.on('error', () => {}); client.on('close', () => { server.close(); @@ -119,10 +116,7 @@ const Countdown = require('../common/countdown'); client.destroy(); }); - const req = client.request(); - // On some platforms (e.g. windows), an ECONNRESET may occur at this - // point -- or it may not. Do not make this a mustCall - req.on('error', () => {}); + client.request(); })); } |