Skip to content

Commit f625c4b

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

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
return this[kStream].writableHighWaterMark;
552552
}
553553

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

566+
get writableNeedDrain() {
567+
return this[kStream].writableNeedDrain;
568+
}
569+
562570
set statusCode(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
const server = http2.createServer(common.mustCall((req, res) => {
88
const hwm = 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
const len = 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)