UNPKG

onirii

Version:

Universal queue SDK

82 lines (81 loc) 3.06 kB
"use strict"; 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;