Skip to content

Commit 560a774

Browse files
authored
fix(node): support undici headers as strings or arrays (#10938)
1 parent 07d83de commit 560a774

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

packages/node/src/integrations/undici/index.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,8 +308,13 @@ function setHeadersOnRequest(
308308
sentryTrace: string,
309309
sentryBaggageHeader: string | undefined,
310310
): void {
311-
const headerLines = request.headers.split('\r\n');
312-
const hasSentryHeaders = headerLines.some(headerLine => headerLine.startsWith('sentry-trace:'));
311+
let hasSentryHeaders: boolean;
312+
if (Array.isArray(request.headers)) {
313+
hasSentryHeaders = request.headers.some(headerLine => headerLine === 'sentry-trace');
314+
} else {
315+
const headerLines = request.headers.split('\r\n');
316+
hasSentryHeaders = headerLines.some(headerLine => headerLine.startsWith('sentry-trace:'));
317+
}
313318

314319
if (hasSentryHeaders) {
315320
return;

packages/node/src/integrations/undici/types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,9 @@ export interface UndiciRequest {
224224
// Originally was Dispatcher.HttpMethod, but did not want to vendor that in.
225225
method?: string;
226226
path: string;
227-
headers: string;
227+
// string for undici@<=6.6.2 and string[] for undici@>=6.7.0.
228+
// see for more information: https://github.com/getsentry/sentry-javascript/issues/10936
229+
headers: string | string[];
228230
addHeader(key: string, value: string): RequestWithSentry;
229231
}
230232

0 commit comments

Comments
 (0)