onirii
Version:
Universal queue SDK
82 lines (81 loc) • 3.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ApiRequestUtil = void 0;
const tslib_1 = require("tslib");
const axios_1 = (0, tslib_1.__importDefault)(require("axios"));
class ApiRequestUtil {
constructor(responseAnalyzer, auth) {
this.responseAnalyzer = responseAnalyzer;
axios_1.default.defaults.headers = auth;
}
static createBody(data, headers) {
const options = {};
if (data) {
options.data = data;
}
if (headers) {
options.headers = headers;
}
return options;
}
getRequest(url, params, headers) {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
let requestRs;
try {
requestRs = yield axios_1.default.get(this.createParams(url, params), ApiRequestUtil.createBody(undefined, headers));
}
catch (err) {
requestRs = err.response;
}
return this.responseAnalyzer.analGet(url, params, headers, requestRs.status, requestRs.data, requestRs.headers);
});
}
postRequest(url, params, headers) {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
let requestRs;
try {
requestRs = yield axios_1.default.post(url, ApiRequestUtil.createBody(params, headers));
}
catch (err) {
requestRs = err.response;
}
return this.responseAnalyzer.analPost(url, params, headers, requestRs.status, requestRs.data, requestRs.headers);
});
}
putRequest(url, params, headers) {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
let requestRs;
try {
requestRs = yield axios_1.default.put(url, ApiRequestUtil.createBody(params, headers));
}
catch (err) {
requestRs = err.response;
}
return this.responseAnalyzer.analPut(url, params, headers, requestRs.status, requestRs.data, requestRs.headers);
});
}
deleteRequest(url, params, headers) {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
let requestRs;
try {
requestRs = yield axios_1.default.delete(this.createParams(url, params), ApiRequestUtil.createBody(undefined, headers));
}
catch (err) {
requestRs = err.response;
}
return this.responseAnalyzer.analDelete(url, params, headers, requestRs.status, requestRs.data, requestRs.headers);
});
}
createParams(url, params) {
if (!params) {
return url;
}
let finUrl = url + '?';
Object.entries(params).forEach(element => {
const [key, value] = element;
finUrl += `${key}=${value}&`;
});
return finUrl.substring(0, finUrl.length - 1);
}
}
exports.ApiRequestUtil = ApiRequestUtil;