Integrated proxy.onRequest functionality

This commit is contained in:
Samuel Crypto
2018-10-07 15:32:28 -04:00
parent 78330a4d20
commit 790a9273f9
3 changed files with 31 additions and 4 deletions
+14
View File
@@ -117,6 +117,16 @@ const assignManager = {
return true;
},
async handleProxifiedRequest(requestInfo) {
if(requestInfo.tabId === -1)
return {type: "direct"};
var tab = await browser.tabs.get(requestInfo.tabId);
var proxy = await window.proxifiedContainers.retrieveFromBackground(tab.cookieStoreId);
return proxy;
},
// Before a request is handled by the browser we decide if we should route through a different container
async onBeforeRequest(options) {
if (options.frameId !== 0 || options.tabId === -1) {
@@ -224,6 +234,10 @@ const assignManager = {
this._onClickedHandler(info, tab);
});
// Before anything happens we decide if the request should be proxified
browser.extension.getBackgroundPage().console.log('[SAMUEL CODE] Adding proxy.onRequest listener');
browser.proxy.onRequest.addListener(this.handleProxifiedRequest, {urls: ["<all_urls>"]});
// Before a request is handled by the browser we decide if we should route through a different container
this.canceledRequests = {};
browser.webRequest.onBeforeRequest.addListener((options) => {