summaryrefslogtreecommitdiff
path: root/packages/integrations/node/src/createOutgoingHttpHeaders.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/node/src/createOutgoingHttpHeaders.ts')
-rw-r--r--packages/integrations/node/src/createOutgoingHttpHeaders.ts34
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;
-};