diff options
Diffstat (limited to 'packages/integrations/node/src/createOutgoingHttpHeaders.ts')
-rw-r--r-- | packages/integrations/node/src/createOutgoingHttpHeaders.ts | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/packages/integrations/node/src/createOutgoingHttpHeaders.ts b/packages/integrations/node/src/createOutgoingHttpHeaders.ts deleted file mode 100644 index 44bbf81ca..000000000 --- a/packages/integrations/node/src/createOutgoingHttpHeaders.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { OutgoingHttpHeaders } from 'node:http'; - -/** - * Takes in a nullable WebAPI Headers object and produces a NodeJS OutgoingHttpHeaders object suitable for usage - * with ServerResponse.writeHead(..) or ServerResponse.setHeader(..) - * - * @param webHeaders WebAPI Headers object - * @returns NodeJS OutgoingHttpHeaders object with multiple set-cookie handled as an array of values - */ -export const createOutgoingHttpHeaders = ( - headers: Headers | undefined | null -): OutgoingHttpHeaders | undefined => { - if (!headers) { - return undefined; - } - - // at this point, a multi-value'd set-cookie header is invalid (it was concatenated as a single CSV, which is not valid for set-cookie) - const nodeHeaders: OutgoingHttpHeaders = Object.fromEntries(headers.entries()); - - if (Object.keys(nodeHeaders).length === 0) { - return undefined; - } - - // if there is > 1 set-cookie header, we have to fix it to be an array of values - if (headers.has('set-cookie')) { - const cookieHeaders = headers.getSetCookie(); - if (cookieHeaders.length > 1) { - // the Headers.entries() API already normalized all header names to lower case so we can safely index this as 'set-cookie' - nodeHeaders['set-cookie'] = cookieHeaders; - } - } - - return nodeHeaders; -}; |