Skip to content

Commit

Permalink
secretXhr to replacingRequest
Browse files Browse the repository at this point in the history
  • Loading branch information
stanislav-atr committed Oct 24, 2022
1 parent fd49432 commit d02e1fe
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions src/scriptlets/trusted-replace-xhr-response.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,9 @@ export function trustedReplaceXhrResponse(source, pattern = '', replacement = ''
* to be able to collect response data without triggering
* listeners on original XHR object
*/
const secretXhr = new XMLHttpRequest();
secretXhr.addEventListener('readystatechange', () => {
if (secretXhr.readyState !== 4) {
const replacingRequest = new XMLHttpRequest();
replacingRequest.addEventListener('readystatechange', () => {
if (replacingRequest.readyState !== 4) {
return;
}

Expand All @@ -148,7 +148,7 @@ export function trustedReplaceXhrResponse(source, pattern = '', replacement = ''
responseXML,
status,
statusText,
} = secretXhr;
} = replacingRequest;

// Extract content from response
const content = responseText || response;
Expand Down Expand Up @@ -189,20 +189,20 @@ export function trustedReplaceXhrResponse(source, pattern = '', replacement = ''
hit(source);
});

nativeOpen.apply(secretXhr, [xhrData.method, xhrData.url]);
nativeOpen.apply(replacingRequest, [xhrData.method, xhrData.url]);

// Mimic request headers before sending
// setRequestHeader can only be called on open request objects
requestHeaders.forEach((header) => {
const name = header[0];
const value = header[1];

secretXhr.setRequestHeader(name, value);
replacingRequest.setRequestHeader(name, value);
});
requestHeaders = [];

try {
nativeSend.call(secretXhr, args);
nativeSend.call(replacingRequest, args);
} catch {
return Reflect.apply(target, thisArg, args);
}
Expand Down

0 comments on commit d02e1fe

Please sign in to comment.