From 87bf73f97b0837dda170f2c63b85e8235e0b08a7 Mon Sep 17 00:00:00 2001
From: Thomas Rientjes <synzvato@protonmail.com>
Date: Tue, 7 Nov 2017 22:16:55 -0300
Subject: [PATCH] Fix #227 by revising request sanitation logic

---
 core/state-manager.js | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/core/state-manager.js b/core/state-manager.js
index 6a4c798..2728d0a 100644
--- a/core/state-manager.js
+++ b/core/state-manager.js
@@ -262,8 +262,14 @@ chrome.webRequest.onBeforeRedirect.addListener(function (requestDetails) {
 
 }, {'urls': [Address.ANY]});
 
-chrome.webRequest.onBeforeSendHeaders.addListener(stateManager._stripMetadata, {
-    'urls': stateManager.validHosts
-}, [WebRequest.BLOCKING, WebRequest.HEADERS]);
+chrome.storage.local.get({'stripMetadata': true}, function (options) {
+
+    if (options === null || options.stripMetadata !== false) {
+
+        chrome.webRequest.onBeforeSendHeaders.addListener(stateManager._stripMetadata, {
+            'urls': stateManager.validHosts
+        }, [WebRequest.BLOCKING, WebRequest.HEADERS]);
+    }
+});
 
 chrome.storage.onChanged.addListener(stateManager._handleStorageChanged);
-- 
GitLab