summaryrefslogtreecommitdiff
path: root/ext/node/polyfills
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/polyfills')
-rw-r--r--ext/node/polyfills/http2.ts14
1 files changed, 6 insertions, 8 deletions
diff --git a/ext/node/polyfills/http2.ts b/ext/node/polyfills/http2.ts
index c47e54d1b..efd71ff93 100644
--- a/ext/node/polyfills/http2.ts
+++ b/ext/node/polyfills/http2.ts
@@ -933,25 +933,23 @@ export class ClientHttp2Stream extends Duplex {
// TODO(bartlomieju): clean up
_write(chunk, encoding, callback?: () => void) {
- debugHttp2(">>> _write", callback);
+ debugHttp2(">>> _write", encoding, callback);
if (typeof encoding === "function") {
callback = encoding;
- encoding = "utf8";
+ encoding = this.#encoding;
}
let data;
- if (typeof encoding === "string") {
+ if (encoding === "utf8") {
data = ENCODER.encode(chunk);
- } else {
+ } else if (encoding === "buffer") {
+ this.#encoding = encoding;
data = chunk.buffer;
}
this.#requestPromise
.then(() => {
debugHttp2(">>> _write", this.#rid, data, encoding, callback);
- return op_http2_client_send_data(
- this.#rid,
- data,
- );
+ return op_http2_client_send_data(this.#rid, new Uint8Array(data));
})
.then(() => {
callback?.();