Skip to content

Commit 01eed59

Browse files
cookesanaduh95
authored andcommitted
http2: expose writable stream state on compat response
Signed-off-by: Terry Chen <terry@example.com> PR-URL: #63003Fixes: #63000 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Tim Perry <pimterry@gmail.com>
1 parent fca56a4 commit 01eed59

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

‎lib/internal/http2/compat.js‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,10 @@ class Http2ServerResponse extends Stream {
551551
returnthis[kStream].writableHighWaterMark;
552552
}
553553

554+
getwritableObjectMode(){
555+
returnthis[kStream].writableObjectMode;
556+
}
557+
554558
getwritableFinished(){
555559
returnthis[kStream].writableFinished;
556560
}
@@ -559,6 +563,10 @@ class Http2ServerResponse extends Stream {
559563
returnthis[kStream].writableLength;
560564
}
561565

566+
getwritableNeedDrain(){
567+
returnthis[kStream].writableNeedDrain;
568+
}
569+
562570
setstatusCode(code){
563571
code|=0;
564572
if(code>=100&&code<200)

‎test/parallel/test-http2-res-writable-properties.js‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ const http2 = require('http2');
77
constserver=http2.createServer(common.mustCall((req,res)=>{
88
consthwm=req.socket.writableHighWaterMark;
99
assert.strictEqual(res.writableHighWaterMark,hwm);
10+
assert.strictEqual(res.writableObjectMode,res.stream.writableObjectMode);
11+
assert.strictEqual(res.writableNeedDrain,res.stream.writableNeedDrain);
1012
assert.strictEqual(res.writableLength,0);
1113
res.write('');
1214
constlen=res.writableLength;
1315
res.write('asd');
1416
assert.strictEqual(res.writableLength,len+3);
17+
assert.strictEqual(res.writableNeedDrain,res.stream.writableNeedDrain);
1518
res.end();
1619
res.on('finish',common.mustCall(()=>{
1720
assert.strictEqual(res.writableLength,0);

0 commit comments

Comments
 (0)