From 67f7ff2eb69e91a24ebe0ef14595f3d26581dfb4 Mon Sep 17 00:00:00 2001 From: Ciro Spaciari Date: Fri, 15 Nov 2024 16:45:55 -0800 Subject: [PATCH] pause/resume + deprecated write fix --- src/js/node/http.ts | 11 +++++++++-- test/js/node/test/parallel/http-pause.test.js | 5 ----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/js/node/http.ts b/src/js/node/http.ts index 64e12db39b..87327f76d6 100644 --- a/src/js/node/http.ts +++ b/src/js/node/http.ts @@ -2112,15 +2112,22 @@ ServerResponse.prototype = ServerResponsePrototype; $setPrototypeDirect.$call(ServerResponse, Stream); const ServerResponse_writeDeprecated = function _write(chunk, encoding, callback) { + if ($isCallable(encoding)) { + callback = encoding; + encoding = undefined; + } + if (!$isCallable(callback)) { + callback = undefined; + } if (this[firstWriteSymbol] === undefined && !this.headersSent) { this[firstWriteSymbol] = chunk; - callback(); + if (callback) callback(); return; } ensureReadableStreamController.$call(this, controller => { controller.write(chunk); - callback(); + if (callback) callback(); }); }; diff --git a/test/js/node/test/parallel/http-pause.test.js b/test/js/node/test/parallel/http-pause.test.js index 735d66a70c..ba4c91c72a 100644 --- a/test/js/node/test/parallel/http-pause.test.js +++ b/test/js/node/test/parallel/http-pause.test.js @@ -35,10 +35,8 @@ for (let expectedServer of [ test(`HTTP pause and resume (${expectedServer.length})`, async () => { const server = http.createServer((req, res) => { - console.error("pause server request"); req.pause(); setTimeout(() => { - console.error("resume server request"); req.resume(); req.setEncoding("utf8"); req.on("data", chunk => { @@ -63,16 +61,13 @@ for (let expectedServer of [ port: server.address().port, }, res => { - console.error("pause client response"); res.pause(); setTimeout(() => { - console.error("resume client response"); res.resume(); res.on("data", chunk => { resultClient += chunk; }); res.on("end", () => { - console.error(resultClient); server.close(); resolve(); });