forked from dashhive/DashSight.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dashrequest.js
36 lines (31 loc) · 948 Bytes
/
dashrequest.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
(function (exports) {
"use strict";
//@ts-ignore
// provide a standards-compliant user-agent
let urequest = exports.urequest || require("@root/request");
/**
* @param {Object} opts
* @param {Object.<String,any>} [opts.form]
* @param {String} [opts.body]
* @param {Boolean | String} [opts.json]
* @param {String} [opts.method]
* @param {String} opts.url
* @param {Object.<String, String|Array<String>>} opts.headers
*/
async function dashrequest(opts) {
let resp = await urequest(opts);
if (resp.ok) {
return resp;
}
let err = new Error(
`http request was ${resp.statusCode}, not ok. See err.response for details.`,
);
//@ts-ignore
err.response = resp.toJSON();
throw err;
}
exports.__dashsight_request = dashrequest;
if ("undefined" !== typeof module) {
module.exports = dashrequest;
}
})(("undefined" !== typeof module && module.exports) || window);