UNPKG

radius-read

Version:

Realtime Dashboard

61 lines 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.APIService = void 0; const tslib_1 = require("tslib"); const request_1 = tslib_1.__importDefault(require("request")); const result_model_1 = require("./../models/result.model"); /** * Service for managing API routes and handling requests. */ class APIService { /** * Creates an instance of APIService. */ constructor() { } /** * Executes an HTTP request with the specified method, URL, headers, and payload. * @param method * @param url * @param headers * @param payload * @returns */ static executeRequest(method, url, headers, payload) { return new Promise((resolve) => { var result = new result_model_1.EntityResult(); let options = { method: method, url: url, headers: headers, strictSSL: new URL(url).protocol === 'https:' ? true : false }; if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(method)) { options.json = payload; } (0, request_1.default)(options, (error, response, body) => { if (error) { result.ResultType = result_model_1.EntityResultType.Failed; result.Exception = error; resolve(result); } if (response) { if (typeof (response === null || response === void 0 ? void 0 : response.body) === 'string') response = JSON.parse(response === null || response === void 0 ? void 0 : response.body); else response = response === null || response === void 0 ? void 0 : response.body; if (response.RespType === "Failed" || response.EvType === "Failed") { result.ResultType = result_model_1.EntityResultType.Failed; result.Exception = response; } else { result.ResultType = result_model_1.EntityResultType.Success; result.Response = response; } resolve(result); } }); }); } } exports.APIService = APIService; //# sourceMappingURL=api.service.js.map