- commit
- 5a2b1cdf1da141669e22abe1db2c138b5f6a6d32
- parent
- 026393bc6cd3835b7b01ec3e8a3c28bd248b2265
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2025-05-03 09:04
allow to specify request type breaking: rules now by default apply to all requests, not just main_frame
Diffstat
| M | README.md | 1 | + |
| M | src/bg.js | 8 | ++++---- |
2 files changed, 5 insertions, 4 deletions
diff --git a/README.md b/README.md
@@ -12,6 +12,7 @@ Rules are defined as a JSON. Each rule has the following properties: 12 12 - `header`: the name of the header 13 13 - `value`: the new value 14 14 - `action`: `add|replace|remove` [default: `replace`] -1 15 - `request_types`: a list of [request types](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType) [default: any] 15 16 16 17 ## Examples 17 18
diff --git a/src/bg.js b/src/bg.js
@@ -19,6 +19,9 @@ browser.webRequest.onBeforeSendHeaders.addListener(async details => {
19 19 var data = await browser.storage.local.get('rules');
20 20
21 21 for (const rule of data.rules) {
-1 22 if (rule.request_types && !rule.request_types.includes(details.type)) {
-1 23 continue;
-1 24 }
22 25 if (glob(details.url, rule.pattern)) {
23 26 if (rule.action !== 'add') {
24 27 clearHeader(details.requestHeaders, rule.header);
@@ -33,10 +36,7 @@ browser.webRequest.onBeforeSendHeaders.addListener(async details => {
33 36 }
34 37
35 38 return {requestHeaders: details.requestHeaders};
36 -1 }, {
37 -1 urls: ['<all_urls>'],
38 -1 types: ['main_frame'],
39 -1 }, ['blocking', 'requestHeaders']);
-1 39 }, {urls: ['<all_urls>']}, ['blocking', 'requestHeaders']);
40 40
41 41 browser.action.onClicked.addListener(() => {
42 42 browser.runtime.openOptionsPage();