mirror of
https://github.com/gorhill/uBlock.git
synced 2024-10-06 09:37:12 +02:00
parent
5c9c0a8023
commit
14d60ac5d3
@ -1365,25 +1365,41 @@ function jsonPruneXhrResponse(
|
|||||||
if ( xhrDetails === undefined ) {
|
if ( xhrDetails === undefined ) {
|
||||||
return innerResponse;
|
return innerResponse;
|
||||||
}
|
}
|
||||||
if ( typeof innerResponse !== 'object' ) {
|
if ( xhrDetails.response !== undefined ) {
|
||||||
xhrDetails.response = innerResponse;
|
return xhrDetails.response;
|
||||||
}
|
}
|
||||||
let outerResponse = xhrDetails.response;
|
let objBefore;
|
||||||
if ( outerResponse !== undefined ) {
|
if ( typeof innerResponse === 'object' ) {
|
||||||
return outerResponse;
|
objBefore = innerResponse;
|
||||||
|
} else if ( typeof innerResponse === 'string' ) {
|
||||||
|
try { objBefore = safe.jsonParse(innerResponse); }
|
||||||
|
catch(ex) { }
|
||||||
}
|
}
|
||||||
outerResponse = objectPrune(
|
if ( typeof objBefore !== 'object' ) {
|
||||||
innerResponse,
|
return (xhrDetails.response = innerResponse);
|
||||||
|
}
|
||||||
|
const objAfter = objectPrune(
|
||||||
|
objBefore,
|
||||||
rawPrunePaths,
|
rawPrunePaths,
|
||||||
rawNeedlePaths,
|
rawNeedlePaths,
|
||||||
{ matchAll: true },
|
{ matchAll: true },
|
||||||
extraArgs
|
extraArgs
|
||||||
);
|
);
|
||||||
if ( typeof outerResponse !== 'object' ) {
|
let outerResponse;
|
||||||
|
if ( typeof objAfter === 'object' ) {
|
||||||
|
outerResponse = typeof innerResponse === 'string'
|
||||||
|
? safe.jsonStringify(objAfter)
|
||||||
|
: objAfter;
|
||||||
|
} else {
|
||||||
outerResponse = innerResponse;
|
outerResponse = innerResponse;
|
||||||
}
|
}
|
||||||
xhrDetails.response = outerResponse;
|
return (xhrDetails.response = outerResponse);
|
||||||
return outerResponse;
|
}
|
||||||
|
get responseText() {
|
||||||
|
const response = this.response;
|
||||||
|
return typeof response !== 'string'
|
||||||
|
? super.responseText
|
||||||
|
: response;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user