UNPKG

@sap/xssec

Version:

XS Advanced Container Security API for node.js

28 lines (22 loc) 937 B
const { CLIENT_CERTIFICATE_HEADER } = require("./constants"); module.exports = { /** * Escapes Regex special characters in the given string, so that the string can be used for a literal match inside a Regex. * Regex.escape is only a proposal at the time of writing. * The source of this code is https://github.com/tc39/proposal-regex-escaping/blob/main/polyfill.js */ escapeStringForRegex(s) { return String(s).replace(/[\\^$*+?.()|[\]{}]/g, '\\$&'); }, shrinkRequestOptionsForLog(request) { const maskedRequest = { ...request }; maskedRequest.headers = { ...request.headers }; if (maskedRequest.agent) { maskedRequest.agent = "<agent>"; } if (maskedRequest.headers?.[CLIENT_CERTIFICATE_HEADER]) { maskedRequest.headers[CLIENT_CERTIFICATE_HEADER] = "<clientCertificatePem>" } return maskedRequest; } };