diff --git a/doc/api/http2.md b/doc/api/http2.md index 8176b83e9f308e..f5dea9640a4181 100644 --- a/doc/api/http2.md +++ b/doc/api/http2.md @@ -907,8 +907,9 @@ the value is `undefined`, the stream is not yet ready for use. All [`Http2Stream`][] instances are destroyed either when: -* An `RST_STREAM` frame for the stream is received by the connected peer. -* The `http2stream.close()` method is called. +* An `RST_STREAM` frame for the stream is received by the connected peer, + and pending data has been read. +* The `http2stream.close()` method is called, and pending data has been read. * The `http2stream.destroy()` or `http2session.destroy()` methods are called. When an `Http2Stream` instance is destroyed, an attempt will be made to send an diff --git a/test/parallel/test-http2-large-write-destroy.js b/test/parallel/test-http2-large-write-destroy.js index 24c0a055cc943f..b59c66bb04755b 100644 --- a/test/parallel/test-http2-large-write-destroy.js +++ b/test/parallel/test-http2-large-write-destroy.js @@ -32,6 +32,7 @@ server.listen(0, common.mustCall(() => { const req = client.request({ ':path': '/' }); req.end(); + req.resume(); // Otherwise close won't be emitted if there's pending data. req.on('close', common.mustCall(() => { client.close();