From 63c379ebc2735927cc2109b8fd400ae4697bf44b Mon Sep 17 00:00:00 2001
From: didierfred <didierfred@gmail.com>
Date: Mon, 1 Jul 2019 17:30:39 +0200
Subject: [PATCH] add extraHeaders option for chrome

---
 background.js | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/background.js b/background.js
index 1ddeacb..5a7492b 100644
--- a/background.js
+++ b/background.js
@@ -13,6 +13,7 @@
 let config;
 let started = 'off';
 let debug_mode = false;
+const isChrome = (navigator.userAgent.indexOf("chrome")!==-1);
 
 loadFromBrowserStorage(['config','started'],function(result) {
 
@@ -229,13 +230,29 @@ function notify(message) {
 function addListener() {
   let target = config.target_page;
   if ((target==="*")||(target==="")||(target===" ")) target="<all_urls>";
-  chrome.webRequest.onBeforeSendHeaders.addListener(rewriteRequestHeader,
+  
+  // need to had "extraHeaders" option for chrome https://developer.chrome.com/extensions/webRequest
+  if (isChrome)
+  {
+	chrome.webRequest.onBeforeSendHeaders.addListener(rewriteRequestHeader,
                                           {urls: target.split(";")},
-                                          ["blocking", "requestHeaders"]);
+                                          ["blocking", "requestHeaders","extraHeaders"]);
 
-  chrome.webRequest.onHeadersReceived.addListener(rewriteResponseHeader,
+	chrome.webRequest.onHeadersReceived.addListener(rewriteResponseHeader,
+                                          {urls: target.split(";")},
+                                          ["blocking", "responseHeaders","extraHeaders"]);
+  }
+  
+  else
+  {
+	  chrome.webRequest.onBeforeSendHeaders.addListener(rewriteRequestHeader,
+                                          {urls: target.split(";")},
+                                          ["blocking", "requestHeaders"]);
+	  chrome.webRequest.onHeadersReceived.addListener(rewriteResponseHeader,
                                           {urls: target.split(";")},
                                           ["blocking", "responseHeaders"]);
+  }
+  
 }
 
 
-- 
GitLab