UNPKG

@eclass/cev-providers

Version:
46 lines • 5.92 kB
"use strict"; 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=