From 951266e52946c99a4acf7d8818795a5e5d510562 Mon Sep 17 00:00:00 2001 From: Andrew Bastin Date: Fri, 17 Jan 2020 13:28:04 -0500 Subject: [PATCH] Added proxy support to FirefoxStrategy --- functions/strategies/FirefoxStrategy.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/functions/strategies/FirefoxStrategy.js b/functions/strategies/FirefoxStrategy.js index 77b15f453..ecd7b133a 100644 --- a/functions/strategies/FirefoxStrategy.js +++ b/functions/strategies/FirefoxStrategy.js @@ -1,5 +1,22 @@ -const firefoxStrategy = (req, _store) => new Promise((resolve, reject) => { +const firefoxWithProxy = (req, store) => new Promise((resolve, reject) => { + const eventListener = (event) => { + window.removeEventListener("firefoxExtSendRequestComplete", event); + + if (event.detail.error) reject(JSON.parse(event.detail.error)); + else resolve(JSON.parse(event.detail.response)); + }; + + window.addEventListener("firefoxExtSendRequestComplete", eventListener); + + window.firefoxExtSendRequest({ + method: "post", + url: store.state.postwoman.settings.PROXY_URL || "https://postwoman.apollotv.xyz/", + data: req + }); +}); + +const firefoxWithoutProxy = (req, _store) => new Promise((resolve, reject) => { const eventListener = (event) => { window.removeEventListener("firefoxExtSendRequestComplete", eventListener); @@ -12,4 +29,10 @@ const firefoxStrategy = (req, _store) => new Promise((resolve, reject) => { window.firefoxExtSendRequest(req); }); +const firefoxStrategy = (req, store) => { + if (store.state.postwoman.settings.PROXY_ENABLED) + return firefoxWithProxy(req, store); + else return firefoxWithoutProxy(req, store); +} + export default firefoxStrategy;