Skip to content

Commit 19e07bb

Browse files
author
Luca Forstner
committed
fix if
1 parent a253713 commit 19e07bb

File tree

1 file changed

+18
-20
lines changed
  • packages/browser-utils/src/instrument

1 file changed

+18
-20
lines changed

packages/browser-utils/src/instrument/xhr.ts

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export function instrumentXHR(): void {
8282

8383
if ('onreadystatechange' in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === 'function') {
8484
xhrOpenThisArg.onreadystatechange = new Proxy(xhrOpenThisArg.onreadystatechange, {
85-
apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray) {
85+
apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray: unknown[]) {
8686
onreadystatechangeHandler();
8787
return originalOnreadystatechange.apply(onreadystatechangeThisArg, onreadystatechangeArgArray);
8888
},
@@ -94,25 +94,23 @@ export function instrumentXHR(): void {
9494
// Intercepting `setRequestHeader` to access the request headers of XHR instance.
9595
// This will only work for user/library defined headers, not for the default/browser-assigned headers.
9696
// Request cookies are also unavailable for XHR, as `Cookie` header can't be defined by `setRequestHeader`.
97-
if ('setRequestHeader' in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === 'function') {
98-
xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {
99-
apply(
100-
originalSetRequestHeader,
101-
setRequestHeaderThisArg: SentryWrappedXMLHttpRequest,
102-
setRequestHeaderArgArray,
103-
) {
104-
const [header, value] = setRequestHeaderArgArray;
105-
106-
const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];
107-
108-
if (xhrInfo && isString(header) && isString(value)) {
109-
xhrInfo.request_headers[header.toLowerCase()] = value;
110-
}
111-
112-
return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);
113-
},
114-
});
115-
}
97+
xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {
98+
apply(
99+
originalSetRequestHeader,
100+
setRequestHeaderThisArg: SentryWrappedXMLHttpRequest,
101+
setRequestHeaderArgArray: unknown[],
102+
) {
103+
const [header, value] = setRequestHeaderArgArray;
104+
105+
const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];
106+
107+
if (xhrInfo && isString(header) && isString(value)) {
108+
xhrInfo.request_headers[header.toLowerCase()] = value;
109+
}
110+
111+
return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);
112+
},
113+
});
116114

117115
return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);
118116
},

0 commit comments

Comments
 (0)