File tree Expand file tree Collapse file tree 2 files changed +9
-2
lines changed Expand file tree Collapse file tree 2 files changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -64,10 +64,17 @@ function onFinished (msg, listener) {
6464
6565function isFinished ( msg ) {
6666 var socket = msg . socket
67+ var stream = msg . stream
68+
69+ if ( stream && typeof stream . closed === 'boolean' ) {
70+ // Http2ServerRequest
71+ // Http2ServerResponse
72+ return stream . closed
73+ }
6774
6875 if ( typeof msg . finished === 'boolean' ) {
6976 // OutgoingMessage
70- return Boolean ( msg . finished || ( socket && ! socket . writable ) )
77+ return Boolean ( ( ! socket && msg . finished && msg . outputSize === 0 ) || ( socket && ! socket . writable ) )
7178 }
7279
7380 if ( typeof msg . complete === 'boolean' ) {
Original file line number Diff line number Diff line change @@ -219,8 +219,8 @@ describe('isFinished(res)', function () {
219219
220220 it ( 'should be false before response finishes' , function ( done ) {
221221 var server = http . createServer ( function ( req , res ) {
222- assert . ok ( ! onFinished . isFinished ( res ) )
223222 res . end ( )
223+ assert . ok ( ! onFinished . isFinished ( res ) )
224224 done ( )
225225 } )
226226
You can’t perform that action at this time.
0 commit comments