UNPKG

@salesforce/apex-node

Version:

Salesforce JS library for Apex

38 lines 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.encodeBody = encodeBody; /* * Copyright (c) 2020, salesforce.com, inc. * All rights reserved. * Licensed under the BSD 3-Clause license. * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ const types_1 = require("./types"); const xmlCharMap = { '<': '&lt;', '>': '&gt;', '&': '&amp;', '"': '&quot;', "'": '&apos;' }; const escapeXml = (data) => data.replace(/[<>&'\"]/g, (char) => xmlCharMap[char]); function encodeBody(accessToken, data) { const escapedData = escapeXml(data); return `<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cmd="http://soap.sforce.com/2006/08/apex" xmlns:apex="http://soap.sforce.com/2006/08/apex"> <env:Header> <cmd:SessionHeader> <cmd:sessionId>${accessToken}</cmd:sessionId> </cmd:SessionHeader> <apex:DebuggingHeader><apex:debugLevel>DEBUGONLY</apex:debugLevel></apex:DebuggingHeader> </env:Header> <env:Body> <${types_1.action} xmlns="http://soap.sforce.com/2006/08/apex"> <apexcode>${escapedData}</apexcode> </${types_1.action}> </env:Body> </env:Envelope>`; } //# sourceMappingURL=utils.js.map