Merge branch 'v2.0-dev' as v2.0.0
[squeep-api-dingus] / lib / common.js
index 723f922b20930355d6adc53ead1fc97f6e719597..f839e7a05cf16790779a75a2d6c15d19689d9f98 100644 (file)
@@ -55,18 +55,6 @@ const generateETag = (_filePath, fileStat, fileData) => {
  */
 const get = (obj, prop, def) => obj && prop && (prop in obj) ? obj[prop] : def;
 
-/**
- * @param {http.ClientRequest} req 
- * @param {http.ServerResponse} res 
- * @param {Object} ctx 
- * @deprecated after v1.2.5 (integrated into logger module)
- */
-const handlerLogData = (req, res, ctx) => ({
-  req: requestLogData(req),
-  res: responseLogData(res),
-  ctx,
-});
-
 /**
  * Determine whether a client has already requested a resource,
  * based on If-Modified-Since and If-None-Match headers.
@@ -171,71 +159,6 @@ const pick = (obj, props) => {
   return picked;
 };
 
-/**
- * Return a subset of a request object, suitable for logging.
- * Obscures sensitive header values.
- * @param {http.ClientRequest} req 
- * @deprecated after v1.2.5 (integrated into logger module)
- */
-const requestLogData = (req) => {
-  const data = pick(req, [
-    'method',
-    'url',
-    'httpVersion',
-    'headers',
-    'trailers',
-  ]);
-  scrubHeaderObject(data);
-  return data;
-};
-
-
-/**
- * Remove sensitive header data.
- * @param {Object} data
- * @param {Object} data.headers
- * @deprecated after v1.2.5 (integrated into logger module)
- */
-const scrubHeaderObject = (data) => {
-  if (data?.headers && 'authorization' in data.headers) {
-    data.headers = Object.assign({}, data.headers, {
-      authorization: obscureAuthorizationHeader(data.headers['authorization']),
-    });
-  }
-};
-
-
-/**
- * Hide sensitive part of an Authorization header.
- * @param {String} authHeader
- * @returns {String}
- * @deprecated after v1.2.5 (integrated into logger module)
- */
-const obscureAuthorizationHeader = (authHeader) => {
-  if (!authHeader) {
-    return authHeader;
-  }
-  const space = authHeader.indexOf(' ');
-  // This blurs entire string if no space found, because -1.
-  return authHeader.slice(0, space + 1) + '*'.repeat(authHeader.length - (space + 1));
-};
-
-
-/**
- * Return a subset of a response object, suitable for logging.
- * @param {http.ServerResponse} res 
- * @deprecated after v1.2.5 (integrated into logger module)
- */
-const responseLogData = (res) => {
-  const response = pick(res, [
-    'statusCode',
-    'statusMessage',
-  ]);
-  response.headers = res.getHeaders();
-  return response;
-};
-
-
 /**
  * Store all properties in defaultOptions on target from either options or defaultOptions.
  * @param {Object} target 
@@ -269,37 +192,6 @@ const requestId = () => {
   return uuid.v1();
 };
 
-/**
- * Do nothing.
- */
-const nop = () => { /**/ };
-
-/**
- * A logger object which does nothing.
- */
-const nullLogger = {
-  error: nop,
-  warn: nop,
-  info: nop,
-  log: nop,
-  debug: nop,
-};
-
-/**
- * Populates any absent logger level functions on a logger object.
- * @param {Object} logger
- * @returns {Object}
- * @deprecated after v1.2.9 (this is not our responsibility)
- */
-const ensureLoggerLevels = (logger = {}) => {
-  for (const level in nullLogger) {
-    if (! (level in logger)) {
-      logger[level] = nullLogger[level];
-    }
-  }
-  return logger;
-};
-
 /**
  * Merges folded header lines
  * @param {String[]} lines
@@ -322,23 +214,15 @@ const unfoldHeaderLines = (lines) => {
 };
 
 module.exports = {
-  ensureLoggerLevels,
   fileScope,
   generateETag,
   get,
-  handlerLogData,
   httpStatusCodeClass,
   isClientCached,
   mergeDeep,
   mergeEnum,
-  nop,
-  nullLogger,
-  obscureAuthorizationHeader,
   pick,
   requestId,
-  requestLogData,
-  responseLogData,
-  scrubHeaderObject,
   setOptions,
   splitFirst,
   unfoldHeaderLines,