32 lines
1015 B
JavaScript
32 lines
1015 B
JavaScript
export const hasExtensionInstalled = () =>
|
|
typeof window.__POSTWOMAN_EXTENSION_HOOK__ !== "undefined"
|
|
|
|
export const hasChromeExtensionInstalled = () =>
|
|
hasExtensionInstalled() && /Chrome/i.test(navigator.userAgent) && /Google/i.test(navigator.vendor)
|
|
|
|
export const hasFirefoxExtensionInstalled = () =>
|
|
hasExtensionInstalled() && /Firefox/i.test(navigator.userAgent)
|
|
|
|
const extensionWithProxy = async (req, { state }) => {
|
|
const { data } = await window.__POSTWOMAN_EXTENSION_HOOK__.sendRequest({
|
|
method: "post",
|
|
url: state.postwoman.settings.PROXY_URL || "https://postwoman.apollosoftware.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
|