Skip to content

Commit 9bcd8bf

Browse files
committed
feat: accept Request in authorizeNode
1 parent 64f4103 commit 9bcd8bf

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

packages/service-utils/src/node/index.ts

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export * from "../core/services.js";
1818
type NodeServiceConfig = CoreServiceConfig;
1919

2020
export type AuthInput = CoreAuthInput & {
21-
req: IncomingMessage;
21+
req: IncomingMessage | Request;
2222
};
2323

2424
/**
@@ -66,11 +66,19 @@ export async function authorizeNode(
6666
return await authorize(authData, serviceConfig, cacheOptions);
6767
}
6868

69+
function isNodeHeaders(
70+
headers: IncomingHttpHeaders | Headers,
71+
): headers is IncomingHttpHeaders {
72+
return typeof headers === "object" && !("get" in headers);
73+
}
74+
6975
function getHeader(
70-
headers: IncomingHttpHeaders,
76+
headers: IncomingHttpHeaders | Headers,
7177
headerName: string,
7278
): string | null {
73-
const header = headers[headerName];
79+
const header = isNodeHeaders(headers)
80+
? headers[headerName]
81+
: headers.get(headerName);
7482
if (Array.isArray(header)) {
7583
return header?.[0] ?? null;
7684
}
@@ -85,7 +93,7 @@ export function extractAuthorizationData(
8593
try {
8694
requestUrl = new URL(
8795
authInput.req.url || "",
88-
`http://${authInput.req.headers.host}`,
96+
`http://${getHeader(authInput.req.headers, "host")}`,
8997
);
9098
} catch (error) {
9199
console.log("** Node URL Error **", error);
@@ -223,10 +231,10 @@ export function logHttpRequest({
223231
isAuthed,
224232
status: res.statusCode,
225233
statusMessage,
226-
sdkName: headers["x-sdk-name"] ?? undefined,
227-
sdkVersion: headers["x-sdk-version"] ?? undefined,
228-
platform: headers["x-sdk-platform"] ?? undefined,
229-
os: headers["x-sdk-os"] ?? undefined,
234+
sdkName: getHeader(headers, "x-sdk-name"),
235+
sdkVersion: getHeader(headers, "x-sdk-version"),
236+
platform: getHeader(headers, "x-sdk-platform"),
237+
os: getHeader(headers, "x-sdk-os"),
230238
latencyMs,
231239
}),
232240
);

0 commit comments

Comments
 (0)