UNPKG

liveperson-functions-cli

Version:
49 lines 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConnectToSalesforce = void 0; const jsforce_1 = require("jsforce"); const headers_gen_1 = require("../shared/headers-gen"); function injectRequiredOptions(currentOptions) { let mergedOptions; if (process.env.HTTPS_PROXY) { mergedOptions = Object.assign({}, currentOptions, { rejectUnauthorized: false, tunnel: false, headers: {}, proxy: process.env.HTTPS_PROXY || 'https://lp-faasproxy-web.faas', agentOptions: { secureProtocol: 'TLSv1_2_method', }, }); } else { mergedOptions = Object.assign({}, currentOptions, { rejectUnauthorized: false, headers: {}, agentOptions: { secureProtocol: 'TLSv1_2_method', }, }); } mergedOptions.headers = Object.assign({}, currentOptions.headers, (0, headers_gen_1.GenerateHeaders)()); return mergedOptions; } /** * ConnectToSalesforce creates a standard JSForce Connection object and preconfigures it * to allow it to communicate with the Proxy and send Requests in the correct format. * @param params Connection Options * @returns Salesforce Connection */ function ConnectToSalesforce(params) { const con = new jsforce_1.Connection(params); // Intercepting all outgoing HTTP Calls const originalTransport = con._transport.httpRequest.bind(con._transport); // Correcting the format of the HTTP Calls to satisfy the needs of our proxy con._transport.httpRequest = (request, options, cb) => { const newRequest = injectRequiredOptions(request); return originalTransport(newRequest, options, cb); }; return con; } exports.ConnectToSalesforce = ConnectToSalesforce; //# sourceMappingURL=salesforce.js.map