diff options
author | Divy Srivastava <dj.srivastava23@gmail.com> | 2024-06-21 19:21:59 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-21 19:21:59 +0530 |
commit | 416df1e895d6dad4ac90814ef7c41e14c03696d0 (patch) | |
tree | b09018c1f1c91d189fbd4cf6b2cf4406d4c46cbb /ext/node/polyfills/http.ts | |
parent | fc197a7ac0bfb15c829acce28566ed1f1e16d2a6 (diff) |
fix(ext/node): add ServerResponse#appendHeader (#24216)
Diffstat (limited to 'ext/node/polyfills/http.ts')
-rw-r--r-- | ext/node/polyfills/http.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ext/node/polyfills/http.ts b/ext/node/polyfills/http.ts index c6c112a50..f009d8a9e 100644 --- a/ext/node/polyfills/http.ts +++ b/ext/node/polyfills/http.ts @@ -1420,6 +1420,26 @@ export class ServerResponse extends NodeWritable { return this; } + appendHeader(name: string, value: string | string[]) { + if (Array.isArray(value)) { + this.#hasNonStringHeaders = true; + } + if (this.#headers[name] === undefined) { + this.#headers[name] = value; + } else { + if (!Array.isArray(this.#headers[name])) { + this.#headers[name] = [this.#headers[name]]; + } + const header = this.#headers[name]; + if (Array.isArray(value)) { + header.push(...value); + } else { + header.push(value); + } + } + return this; + } + getHeader(name: string) { return this.#headers[name]; } |