Skip to content

Commit df0937c

Browse files
committed
attach new header to fetch/xhr
1 parent aa11052 commit df0937c

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

packages/tracing/src/browser/request.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { getCurrentHub } from '@sentry/hub';
2+
import { TraceHeadersObj } from '@sentry/types';
23
import { addInstrumentationHandler, isInstanceOf, isMatchingPattern } from '@sentry/utils';
34

45
import { Span } from '../span';
@@ -195,14 +196,14 @@ export function fetchCallback(
195196
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
196197
if (typeof headers.append === 'function') {
197198
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
198-
headers.append('sentry-trace', span.toTraceparent());
199+
headers.append(...span.getTraceHeaders('array'));
199200
} else if (Array.isArray(headers)) {
200-
headers = [...headers, ['sentry-trace', span.toTraceparent()]];
201+
headers = [...headers, ...span.getTraceHeaders('array')];
201202
} else {
202-
headers = { ...headers, 'sentry-trace': span.toTraceparent() };
203+
headers = { ...headers, ...span.getTraceHeaders('object') };
203204
}
204205
} else {
205-
headers = { 'sentry-trace': span.toTraceparent() };
206+
headers = span.getTraceHeaders('object');
206207
}
207208
options.headers = headers;
208209
}
@@ -261,7 +262,11 @@ export function xhrCallback(
261262

262263
if (handlerData.xhr.setRequestHeader) {
263264
try {
264-
handlerData.xhr.setRequestHeader('sentry-trace', span.toTraceparent());
265+
const sentryHeaders = span.getTraceHeaders('object') as TraceHeadersObj;
266+
handlerData.xhr.setRequestHeader('sentry-trace', sentryHeaders['sentry-trace']);
267+
if (sentryHeaders.tracestate) {
268+
handlerData.xhr.setRequestHeader('tracesstate', sentryHeaders.tracestate);
269+
}
265270
} catch (_) {
266271
// Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.
267272
}

0 commit comments

Comments
 (0)