From 6b211f622c68dc22dc06ecc53b451abf7ce6b8ab Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 5 Oct 2023 11:24:35 -0400 Subject: [PATCH] Add `stackToMatch` vararg to json-prune-related scriptlets As per discussion with filter list maintainers. --- assets/resources/scriptlets.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/assets/resources/scriptlets.js b/assets/resources/scriptlets.js index 22c8574c6..3f86f1196 100644 --- a/assets/resources/scriptlets.js +++ b/assets/resources/scriptlets.js @@ -1257,6 +1257,7 @@ function jsonPruneFetchResponse( const logLevel = shouldLog({ log: rawPrunePaths === '' || extraArgs.log, }); const log = logLevel ? ((...args) => { safe.uboLog(...args); }) : (( ) => { }); const propNeedles = parsePropertiesToMatch(extraArgs.propsToMatch, 'url'); + const stackNeedle = safe.initPattern(extraArgs.stackToMatch || '', { canNegate: true }); const applyHandler = function(target, thisArg, args) { const fetchPromise = Reflect.apply(target, thisArg, args); if ( logLevel === true ) { @@ -1289,7 +1290,7 @@ function jsonPruneFetchResponse( objBefore, rawPrunePaths, rawNeedlePaths, - { matchAll: true }, + stackNeedle, extraArgs ); if ( typeof objAfter !== 'object' ) { return responseBefore; } @@ -1342,6 +1343,7 @@ function jsonPruneXhrResponse( const logLevel = shouldLog({ log: rawPrunePaths === '' || extraArgs.log, }); const log = logLevel ? ((...args) => { safe.uboLog(...args); }) : (( ) => { }); const propNeedles = parsePropertiesToMatch(extraArgs.propsToMatch, 'url'); + const stackNeedle = safe.initPattern(extraArgs.stackToMatch || '', { canNegate: true }); self.XMLHttpRequest = class extends self.XMLHttpRequest { open(method, url, ...args) { const xhrDetails = { method, url }; @@ -1389,7 +1391,7 @@ function jsonPruneXhrResponse( objBefore, rawPrunePaths, rawNeedlePaths, - { matchAll: true }, + stackNeedle, extraArgs ); let outerResponse;