Skip to content

Commit badc38f

Browse files
apapirovskitargos
authored andcommittedSep 23, 2018
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. 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 b6cd185 commit badc38f

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
@@ -279,6 +279,7 @@ function onSessionHeaders(handle, id, cat, flags, headers) {
279279
}
280280
} else {
281281
stream = new ClientHttp2Stream(session, handle, id, opts);
282+
stream.end();
282283
}
283284
if (endOfStream)
284285
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)