MCPcopy Create free account
hub / github.com/violentmonkey/violentmonkey / HttpRequest

Function HttpRequest

src/background/utils/requests.js:20–42  ·  view source on GitHub ↗

* @param {GMReq.Message.Web} opts * @param {VMMessageSender} src * @return {Promise }

(opts, src)

Source from the content-addressed store, hash-verified

18 * @return {Promise<void>}
19 */
20 HttpRequest(opts, src) {
21 const tabId = src.tab.id;
22 const frameId = getFrameDocIdFromSrc(src);
23 const { id, events } = opts;
24 /** @type {GMReq.BG} */
25 const req = requests[id] = {
26 id,
27 tabId,
28 [kFrameId]: frameId,
29 frame: getFrameDocIdAsObj(frameId),
30 xhr: new XMLHttpRequest(),
31 };
32 const cb = res => requests[id] && (
33 sendTabCmd(tabId, 'HttpRequested', res, req.frame)
34 );
35 return httpRequest(opts, events, src, cb)
36 .catch(err => cb({
37 id,
38 [ERROR]: [err.message || `${err}`, err.name],
39 data: null,
40 type: ERROR,
41 }));
42 },
43 /** @return {void} */
44 AbortRequest(id) {
45 requests[id]?.xhr.abort();

Callers

nothing calls this directly

Calls 4

getFrameDocIdFromSrcFunction · 0.90
getFrameDocIdAsObjFunction · 0.90
httpRequestFunction · 0.85
cbFunction · 0.70

Tested by

no test coverage detected