summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/tests/unit_node/http_test.ts19
-rw-r--r--ext/node/polyfills/_http_outgoing.ts2
2 files changed, 20 insertions, 1 deletions
diff --git a/cli/tests/unit_node/http_test.ts b/cli/tests/unit_node/http_test.ts
index b2b8eda0f..ae708c343 100644
--- a/cli/tests/unit_node/http_test.ts
+++ b/cli/tests/unit_node/http_test.ts
@@ -835,3 +835,22 @@ Deno.test("[node/https] node:https exports globalAgent", async () => {
"node:https must export 'globalAgent' on module default export",
);
});
+
+Deno.test("[node/http] node:http request.setHeader(header, null) doesn't throw", () => {
+ {
+ const req = http.request("http://localhost:4545/");
+ req.on("error", () => {});
+ // @ts-expect-error - null is not a valid header value
+ req.setHeader("foo", null);
+ req.end();
+ req.destroy();
+ }
+ {
+ const req = https.request("https://localhost:4545/");
+ req.on("error", () => {});
+ // @ts-expect-error - null is not a valid header value
+ req.setHeader("foo", null);
+ req.end();
+ req.destroy();
+ }
+});
diff --git a/ext/node/polyfills/_http_outgoing.ts b/ext/node/polyfills/_http_outgoing.ts
index 8882ade55..1feb3e746 100644
--- a/ext/node/polyfills/_http_outgoing.ts
+++ b/ext/node/polyfills/_http_outgoing.ts
@@ -249,7 +249,7 @@ export class OutgoingMessage extends Stream {
}
name = name.toString();
- headers[name.toLowerCase()] = [name, value.toString()];
+ headers[name.toLowerCase()] = [name, String(value)];
return this;
}