lul
This commit is contained in:
55
proxies/requestProxies.js
Normal file
55
proxies/requestProxies.js
Normal file
@@ -0,0 +1,55 @@
|
||||
const messageId = "honey:couponResProxy";
|
||||
let fetchCounter = 0,
|
||||
xhrCounter = 0;
|
||||
const handleFetch = async (e, t) => {
|
||||
const [o] = t;
|
||||
fetchCounter += 1;
|
||||
const n = `${fetchCounter}${o}`;
|
||||
window.postMessage({
|
||||
messageId,
|
||||
type: "request",
|
||||
requestId: n
|
||||
}, window.location.origin);
|
||||
try {
|
||||
await e, window.postMessage({
|
||||
messageId,
|
||||
type: "response",
|
||||
requestId: n
|
||||
}, window.location.origin)
|
||||
} catch (e) {}
|
||||
};
|
||||
|
||||
function overrideFetch() {
|
||||
window.fetch = new Proxy(window.fetch, {
|
||||
apply: async (e, t, o) => {
|
||||
const n = e.apply(t, o);
|
||||
return handleFetch(n, o), n
|
||||
}
|
||||
})
|
||||
}
|
||||
const handleXHRSend = (e, t) => {
|
||||
const o = JSON.stringify(t);
|
||||
xhrCounter += 1;
|
||||
const n = `${xhrCounter}${o}`;
|
||||
window.postMessage({
|
||||
messageId,
|
||||
type: "request",
|
||||
requestId: n
|
||||
}, window.location.origin), e.addEventListener("loadend", e => (window.postMessage({
|
||||
messageId,
|
||||
type: "response",
|
||||
requestId: n
|
||||
}, window.location.origin), e))
|
||||
};
|
||||
|
||||
function overrideXMLHttpRequestSend() {
|
||||
const e = new Proxy(window.XMLHttpRequest.prototype.send, {
|
||||
apply: async (e, t, o) => {
|
||||
const n = e.apply(t, o);
|
||||
return handleXHRSend(t, o), n
|
||||
}
|
||||
});
|
||||
window.XMLHttpRequest.prototype.send = e
|
||||
}
|
||||
const isProxyAvailable = !!window.Proxy;
|
||||
isProxyAvailable && (overrideFetch(), overrideXMLHttpRequestSend());
|
||||
Reference in New Issue
Block a user