* @param {GMReq.Message.Web} opts * @param {VMMessageSender} src * @return {Promise }
(opts, src)
| 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(); |
nothing calls this directly
no test coverage detected