diff options
-rw-r--r-- | cli/tests/unit_node/http_test.ts | 21 | ||||
-rw-r--r-- | ext/node/polyfills/http.ts | 2 |
2 files changed, 22 insertions, 1 deletions
diff --git a/cli/tests/unit_node/http_test.ts b/cli/tests/unit_node/http_test.ts index c46a3de41..5285d8e23 100644 --- a/cli/tests/unit_node/http_test.ts +++ b/cli/tests/unit_node/http_test.ts @@ -874,3 +874,24 @@ Deno.test("[node/http] node:http request.setHeader(header, null) doesn't throw", req.destroy(); } }); + +Deno.test("[node/http] ServerResponse getHeader", async () => { + const { promise, resolve } = Promise.withResolvers<void>(); + const server = http.createServer((_req, res) => { + res.setHeader("foo", "bar"); + assertEquals(res.getHeader("foo"), "bar"); + assertEquals(res.getHeader("ligma"), undefined); + res.end("Hello World"); + }); + + server.listen(async () => { + const { port } = server.address() as { port: number }; + const res = await fetch(`http://localhost:${port}`); + assertEquals(await res.text(), "Hello World"); + server.close(() => { + resolve(); + }); + }); + + await promise; +}); diff --git a/ext/node/polyfills/http.ts b/ext/node/polyfills/http.ts index 27fc577c0..d45854162 100644 --- a/ext/node/polyfills/http.ts +++ b/ext/node/polyfills/http.ts @@ -1394,7 +1394,7 @@ export class ServerResponse extends NodeWritable { } getHeader(name: string) { - return this.#headers.get(name); + return this.#headers.get(name) ?? undefined; } removeHeader(name: string) { return this.#headers.delete(name); |