From 0e2f8a8a066949ed52e8e3a140e9c916872c9c5b Mon Sep 17 00:00:00 2001 From: Daniel Gasienica Date: Tue, 6 Mar 2018 12:46:08 -0500 Subject: [PATCH] Extract `Errors.redactSensitivePaths` --- js/modules/types/errors.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/js/modules/types/errors.js b/js/modules/types/errors.js index 7754bb15c..43addcb2c 100644 --- a/js/modules/types/errors.js +++ b/js/modules/types/errors.js @@ -2,7 +2,8 @@ const Path = require('path'); -const toError = require('ensure-error'); +const ensureError = require('ensure-error'); +const isString = require('lodash/isString'); const APP_ROOT_PATH = Path.join(__dirname, '..', '..', '..'); @@ -10,8 +11,16 @@ const APP_ROOT_PATH_PATTERN = new RegExp(APP_ROOT_PATH, 'g'); // toLogFormat :: Error -> String exports.toLogFormat = (error) => { - const normalizedError = toError(error); - const stackWithoutPrivatePaths = - normalizedError.stack.replace(APP_ROOT_PATH_PATTERN, ''); - return stackWithoutPrivatePaths; + const normalizedError = ensureError(error); + const stackWithRedactedPaths = exports.redactSensitivePaths(normalizedError.stack); + return stackWithRedactedPaths; +}; + +// redactSensitivePaths :: String -> String +exports.redactSensitivePaths = (logLine) => { + if (!isString(logLine)) { + return logLine; + } + + return logLine.replace(APP_ROOT_PATH_PATTERN, ''); };