Skip to content

Commit ca933ce

Browse files
apapirovskiBethGriggs
authored andcommitted
http2: do not falsely emit 'aborted' on push
A push stream should have its writable side closed upon receipt, to avoid emitting the 'aborted' event when the readable side is closed. Backport-PR-URL: #22850 PR-URL: #22878 Fixes: #22851 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
1 parent 49f44f3 commit ca933ce

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed

lib/internal/http2/core.js

+1
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ function onSessionHeaders(handle, id, cat, flags, headers) {
220220
}
221221
} else {
222222
stream = new ClientHttp2Stream(session, handle, id, opts);
223+
stream.end();
223224
}
224225
if (endOfStream)
225226
stream[kState].endAfterHeaders = true;

test/parallel/test-http2-server-push-stream.js

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ server.listen(0, common.mustCall(() => {
5454
assert.strictEqual(headers['content-type'], 'text/html');
5555
assert.strictEqual(headers['x-push-data'], 'pushed by server');
5656
}));
57+
stream.on('aborted', common.mustNotCall());
5758
}));
5859

5960
let data = '';

0 commit comments

Comments
 (0)