UNPKG

ui5plugin-parser

Version:
68 lines (67 loc) 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HTTPHandler = void 0; const axios_1 = require("axios"); const https = require("https"); class HTTPHandler { constructor(configHandler) { this.configHandler = configHandler; } async get(uri, options = {}) { let pResponse; let data = {}; const rejectUnauthorized = this.configHandler.getRejectUnauthorized(); if (!rejectUnauthorized) options.httpsAgent = new https.Agent({ rejectUnauthorized: !!rejectUnauthorized }); try { if (HTTPHandler._requests[uri]) { pResponse = HTTPHandler._requests[uri]; } else { pResponse = new axios_1.Axios(options).get(uri, { validateStatus: status => { return status >= 200 && status < 300; } }); HTTPHandler._requests[uri] = pResponse; } const response = await pResponse; if (response.headers?.["content-type"]?.includes("application/json")) { data = JSON.parse(response.data); } else { data = response.data; } } catch (error) { const errorMessage = `Error occurred sending HTTP Request. Uri: "${uri}". Message: "${error.message}". Response data: "${error.response?.data}"`; console.error(errorMessage); throw new Error(errorMessage); } return data; } static async get(uri, options = {}) { let data = {}; try { const response = await new axios_1.Axios(options).get(uri, { validateStatus: status => { return status >= 200 && status < 300; } }); if (response.headers?.["content-type"]?.includes("application/json")) { data = JSON.parse(response.data); } else { data = response.data; } } catch (error) { const errorMessage = `Error occurred sending HTTP Request. Uri: "${uri}". Message: "${error.message}". Response data: "${error.response?.data}"`; console.error(errorMessage); throw new Error(errorMessage); } return data; } } exports.HTTPHandler = HTTPHandler; HTTPHandler._requests = {};