diff options
author | James M Snell <jasnell@gmail.com> | 2017-12-12 11:34:17 -0800 |
---|---|---|
committer | James M Snell <jasnell@gmail.com> | 2017-12-18 10:19:21 -0800 |
commit | 0babd181a0c5d775e62a12b3b04fe4d7654fe80a (patch) | |
tree | cf02bdb6a71b8d346109d1ab66e18c559dbf5a23 /test/parallel/test-http2-info-headers-errors.js | |
parent | 18ca0b64422337cc6844949b9b97f39fef82f512 (diff) | |
download | node-new-0babd181a0c5d775e62a12b3b04fe4d7654fe80a.tar.gz |
http2: cleanup Http2Stream/Http2Session destroy
PR-URL: https://github.com/nodejs/node/pull/17406
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
This is a significant cleanup and refactoring of the
cleanup/close/destroy logic for Http2Stream and Http2Session.
There are significant changes here in the timing and ordering
of cleanup logic, JS apis. and various related necessary edits.
Diffstat (limited to 'test/parallel/test-http2-info-headers-errors.js')
-rw-r--r-- | test/parallel/test-http2-info-headers-errors.js | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/test/parallel/test-http2-info-headers-errors.js b/test/parallel/test-http2-info-headers-errors.js index b671bece4f..1df7633455 100644 --- a/test/parallel/test-http2-info-headers-errors.js +++ b/test/parallel/test-http2-info-headers-errors.js @@ -48,10 +48,6 @@ server.on('stream', common.mustCall((stream, headers) => { if (currentError.type === 'stream') { stream.session.on('error', errorMustNotCall); stream.on('error', errorMustCall); - stream.on('error', common.mustCall(() => { - stream.respond(); - stream.end(); - })); } else { stream.session.once('error', errorMustCall); stream.on('error', errorMustNotCall); @@ -63,24 +59,21 @@ server.on('stream', common.mustCall((stream, headers) => { server.listen(0, common.mustCall(() => runTest(tests.shift()))); function runTest(test) { - const port = server.address().port; - const url = `http://localhost:${port}`; - const headers = { - ':path': '/', - ':method': 'POST', - ':scheme': 'http', - ':authority': `localhost:${port}` - }; - - const client = http2.connect(url); - const req = client.request(headers); + const client = http2.connect(`http://localhost:${server.address().port}`); + const req = client.request({ ':method': 'POST' }); currentError = test; req.resume(); req.end(); - req.on('end', common.mustCall(() => { - client.destroy(); + req.on('error', common.expectsError({ + code: 'ERR_HTTP2_STREAM_ERROR', + type: Error, + message: 'Stream closed with error code 2' + })); + + req.on('close', common.mustCall(() => { + client.close(); if (!tests.length) { server.close(); |