@eclass/cev-providers
Version:
Integración Proveedores CEV
46 lines • 5.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.fetchEndpoint = void 0;
const url_1 = require("url");
const fetch = require("node-fetch");
const abort_controller_1 = require("abort-controller");
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
const fetchEndpoint = async ({ token, method, pathUrl, queryUrl, body, parseJson = true }, debug = false) => {
const timeout = 8000;
const baseUrl = 'https://api.zoom.us/';
const endPointUrl = new url_1.URL(`/v2${pathUrl}`, baseUrl);
if (queryUrl) {
Object.keys(queryUrl).forEach(key => endPointUrl.searchParams.append(key, queryUrl[`${key}`]));
}
const controller = new abort_controller_1.default();
const id = setTimeout(() => controller.abort(), timeout);
const response = await fetch(endPointUrl, {
method,
headers: {
'Content-Type': 'application/json',
Authorization: `bearer ${token}`
},
body: JSON.stringify(body),
signal: controller.signal
});
if (!response) {
throw new Error(`Network Error on fetch ${endPointUrl}`);
}
const responseJson = parseJson ? await response.json() : await response.text();
if (debug) {
// eslint-disable-next-line no-console
console.log({ responseText: responseJson });
}
clearTimeout(id);
return {
response: responseJson,
log: {
headers: response.headers,
status: response.status,
statusText: response.statusText,
url: response.url
}
};
};
exports.fetchEndpoint = fetchEndpoint;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2hFbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9ab29tL2xpYi9mZXRjaEVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF5QjtBQUd6QixvQ0FBb0M7QUFDcEMsdURBQThDO0FBRTlDLDZFQUE2RTtBQUN0RSxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ2hDLEVBQ0UsS0FBSyxFQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1AsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQUcsSUFBSSxFQUNFLEVBQ3BCLEtBQUssR0FBRyxLQUFLLEVBQ1csRUFBRTtJQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUE7SUFDcEIsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUE7SUFDdEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxTQUFHLENBQUMsTUFBTSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNyRCxJQUFJLFFBQVEsRUFBRTtRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ2xDLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQ3pELENBQUE7S0FDRjtJQUNELE1BQU0sVUFBVSxHQUFHLElBQUksMEJBQWUsRUFBRSxDQUFBO0lBQ3hDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3hDLE1BQU07UUFDTixPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTtTQUNqQztRQUNELElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMxQixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07S0FDMUIsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFdBQVcsRUFBRSxDQUFDLENBQUE7S0FDekQ7SUFFRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM5RSxJQUFJLEtBQUssRUFBRTtRQUNULHNDQUFzQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7S0FDNUM7SUFFRCxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDaEIsT0FBTztRQUNMLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLEdBQUcsRUFBRTtZQUNILE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztZQUN6QixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDdkIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO1lBQy9CLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztTQUNsQjtLQUNGLENBQUE7QUFDSCxDQUFDLENBQUE7QUFuRFksUUFBQSxhQUFhLGlCQW1EekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVUkwgfSBmcm9tICd1cmwnXG5pbXBvcnQgeyBSZXF1ZXN0VG9rZW5Qcm9wcyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgRmV0Y2hFbmRwb2ludCB9IGZyb20gJy4uLy4uLydcbmltcG9ydCBmZXRjaCA9IHJlcXVpcmUoJ25vZGUtZmV0Y2gnKVxuaW1wb3J0IEFib3J0Q29udHJvbGxlciBmcm9tICdhYm9ydC1jb250cm9sbGVyJ1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuZXhwb3J0IGNvbnN0IGZldGNoRW5kcG9pbnQgPSBhc3luYyAoXG4gIHtcbiAgICB0b2tlbixcbiAgICBtZXRob2QsXG4gICAgcGF0aFVybCxcbiAgICBxdWVyeVVybCxcbiAgICBib2R5LFxuICAgIHBhcnNlSnNvbiA9IHRydWVcbiAgfTogUmVxdWVzdFRva2VuUHJvcHMsXG4gIGRlYnVnID0gZmFsc2Vcbik6IFByb21pc2U8RmV0Y2hFbmRwb2ludD4gPT4ge1xuICBjb25zdCB0aW1lb3V0ID0gODAwMFxuICBjb25zdCBiYXNlVXJsID0gJ2h0dHBzOi8vYXBpLnpvb20udXMvJ1xuICBjb25zdCBlbmRQb2ludFVybCA9IG5ldyBVUkwoYC92MiR7cGF0aFVybH1gLCBiYXNlVXJsKVxuICBpZiAocXVlcnlVcmwpIHtcbiAgICBPYmplY3Qua2V5cyhxdWVyeVVybCkuZm9yRWFjaChrZXkgPT5cbiAgICAgIGVuZFBvaW50VXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoa2V5LCBxdWVyeVVybFtgJHtrZXl9YF0pXG4gICAgKVxuICB9XG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKClcbiAgY29uc3QgaWQgPSBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKSwgdGltZW91dClcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChlbmRQb2ludFVybCwge1xuICAgIG1ldGhvZCxcbiAgICBoZWFkZXJzOiB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQXV0aG9yaXphdGlvbjogYGJlYXJlciAke3Rva2VufWBcbiAgICB9LFxuICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBOZXR3b3JrIEVycm9yIG9uIGZldGNoICR7ZW5kUG9pbnRVcmx9YClcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlSnNvbiA9IHBhcnNlSnNvbiA/IGF3YWl0IHJlc3BvbnNlLmpzb24oKSA6IGF3YWl0IHJlc3BvbnNlLnRleHQoKVxuICBpZiAoZGVidWcpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKHsgcmVzcG9uc2VUZXh0OiByZXNwb25zZUpzb24gfSlcbiAgfVxuXG4gIGNsZWFyVGltZW91dChpZClcbiAgcmV0dXJuIHtcbiAgICByZXNwb25zZTogcmVzcG9uc2VKc29uLFxuICAgIGxvZzoge1xuICAgICAgaGVhZGVyczogcmVzcG9uc2UuaGVhZGVycyxcbiAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgc3RhdHVzVGV4dDogcmVzcG9uc2Uuc3RhdHVzVGV4dCxcbiAgICAgIHVybDogcmVzcG9uc2UudXJsXG4gICAgfVxuICB9XG59XG4iXX0=