@@ -18,7 +18,7 @@ export * from "../core/services.js";
18
18
type NodeServiceConfig = CoreServiceConfig ;
19
19
20
20
export type AuthInput = CoreAuthInput & {
21
- req : IncomingMessage ;
21
+ req : IncomingMessage | Request ;
22
22
} ;
23
23
24
24
/**
@@ -66,11 +66,19 @@ export async function authorizeNode(
66
66
return await authorize ( authData , serviceConfig , cacheOptions ) ;
67
67
}
68
68
69
+ function isNodeHeaders (
70
+ headers : IncomingHttpHeaders | Headers ,
71
+ ) : headers is IncomingHttpHeaders {
72
+ return typeof headers === "object" && ! ( "get" in headers ) ;
73
+ }
74
+
69
75
function getHeader (
70
- headers : IncomingHttpHeaders ,
76
+ headers : IncomingHttpHeaders | Headers ,
71
77
headerName : string ,
72
78
) : string | null {
73
- const header = headers [ headerName ] ;
79
+ const header = isNodeHeaders ( headers )
80
+ ? headers [ headerName ]
81
+ : headers . get ( headerName ) ;
74
82
if ( Array . isArray ( header ) ) {
75
83
return header ?. [ 0 ] ?? null ;
76
84
}
@@ -85,7 +93,7 @@ export function extractAuthorizationData(
85
93
try {
86
94
requestUrl = new URL (
87
95
authInput . req . url || "" ,
88
- `http://${ authInput . req . headers . host } ` ,
96
+ `http://${ getHeader ( authInput . req . headers , " host" ) } ` ,
89
97
) ;
90
98
} catch ( error ) {
91
99
console . log ( "** Node URL Error **" , error ) ;
@@ -223,10 +231,10 @@ export function logHttpRequest({
223
231
isAuthed,
224
232
status : res . statusCode ,
225
233
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" ) ,
230
238
latencyMs,
231
239
} ) ,
232
240
) ;
0 commit comments