mirror of
https://github.com/nodejs/node.git
synced 2025-05-06 07:40:16 +00:00

Streams were recently updated to emit their own close event. The Http2Stream was an exception because it included the close argument with the close event. Refactor that to use the built in close. PR-URL: https://github.com/nodejs/node/pull/19451 Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
38 lines
930 B
JavaScript
38 lines
930 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
if (!common.hasCrypto)
|
|
common.skip('missing crypto');
|
|
const assert = require('assert');
|
|
const h2 = require('http2');
|
|
|
|
const server = h2.createServer();
|
|
|
|
// we use the lower-level API here
|
|
server.on('stream', common.mustCall(onStream));
|
|
|
|
function onStream(stream, headers, flags) {
|
|
stream.close();
|
|
|
|
common.expectsError(() => {
|
|
stream.additionalHeaders({
|
|
':status': 123,
|
|
'abc': 123
|
|
});
|
|
}, { code: 'ERR_HTTP2_INVALID_STREAM' });
|
|
}
|
|
|
|
server.listen(0);
|
|
|
|
server.on('listening', common.mustCall(() => {
|
|
const client = h2.connect(`http://localhost:${server.address().port}`);
|
|
const req = client.request();
|
|
req.on('headers', common.mustNotCall());
|
|
req.on('close', common.mustCall(() => {
|
|
assert.strictEqual(h2.constants.NGHTTP2_NO_ERROR, req.rstCode);
|
|
server.close();
|
|
client.close();
|
|
}));
|
|
req.on('response', common.mustNotCall());
|
|
}));
|