UNPKG

@talentsoft-opensource/widget-display-tool

Version:

Widget Simulator

33 lines (32 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const factory_1 = require("../securityModes/factory"); const fetch = require("node-fetch"); async function formatResponse(response) { const headers = {}; response.headers.forEach((v, k) => { headers[k] = v; }); return { status: response.status, headers: headers, body: await response.arrayBuffer() }; } async function downloadExternalResource(options, secretKey, login, securityMode) { if (options.headers && options.headers.hasOwnProperty("host")) { delete options.headers["host"]; } const securityModeImplementation = factory_1.getSecurityMode(securityMode); const securityHeaders = securityModeImplementation.getSecurityHeaderParams(secretKey, login, new Date()); const response = await fetch(options.url, { headers: { ...options.headers, ...securityHeaders }, method: options.verb, body: options.verb == "GET" ? undefined : options.body }); return await formatResponse(response); } exports.downloadExternalResource = downloadExternalResource;