@@ -1,4 +1,5 @@
|
|||||||
import AxiosStrategy from "./strategies/AxiosStrategy";
|
import AxiosStrategy from "./strategies/AxiosStrategy";
|
||||||
|
import ExtensionStrategy from "./strategies/ExtensionStrategy";
|
||||||
import FirefoxStrategy from "./strategies/FirefoxStrategy";
|
import FirefoxStrategy from "./strategies/FirefoxStrategy";
|
||||||
import ChromeStrategy, { hasChromeExtensionInstalled } from "./strategies/ChromeStrategy";
|
import ChromeStrategy, { hasChromeExtensionInstalled } from "./strategies/ChromeStrategy";
|
||||||
|
|
||||||
@@ -9,6 +10,12 @@ const isExtensionsAllowed = ({ state }) => {
|
|||||||
|
|
||||||
const runAppropriateStrategy = (req, store) => {
|
const runAppropriateStrategy = (req, store) => {
|
||||||
if (isExtensionsAllowed(store)) {
|
if (isExtensionsAllowed(store)) {
|
||||||
|
if (typeof window.__POSTWOMAN_EXTENSION_HOOK__ !== 'undefined') {
|
||||||
|
return ExtensionStrategy(req, store);
|
||||||
|
}
|
||||||
|
|
||||||
|
// The following strategies are deprecated and kept to support older version of the extensions
|
||||||
|
|
||||||
// Chrome Provides a chrome object for scripts to access
|
// Chrome Provides a chrome object for scripts to access
|
||||||
// Check its availability to say whether you are in Google Chrome
|
// Check its availability to say whether you are in Google Chrome
|
||||||
if (window.chrome && hasChromeExtensionInstalled()) {
|
if (window.chrome && hasChromeExtensionInstalled()) {
|
||||||
|
|||||||
22
functions/strategies/ExtensionStrategy.js
Normal file
22
functions/strategies/ExtensionStrategy.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
const extensionWithProxy = async (req, { state }) => {
|
||||||
|
const { data } = await window.__POSTWOMAN_EXTENSION_HOOK__.sendRequest({
|
||||||
|
method: "post",
|
||||||
|
url: state.postwoman.settings.PROXY_URL || "https://postwoman.apollotv.xyz/",
|
||||||
|
data: req
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
};
|
||||||
|
|
||||||
|
const extensionWithoutProxy = async (req, _store) => {
|
||||||
|
const res = await window.__POSTWOMAN_EXTENSION_HOOK__.sendRequest(req);
|
||||||
|
return res;
|
||||||
|
};
|
||||||
|
|
||||||
|
const extensionStrategy = (req, store) => {
|
||||||
|
if (store.state.postwoman.settings.PROXY_ENABLED) {
|
||||||
|
return extensionWithProxy(req, store);
|
||||||
|
}
|
||||||
|
return extensionWithoutProxy(req, store);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default extensionStrategy;
|
||||||
Reference in New Issue
Block a user