@sap/xssec
Version:
XS Advanced Container Security API for node.js
28 lines (22 loc) • 937 B
JavaScript
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;
}
};