Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / oneRequest / deps / fromRequestToHash.js
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.fromRequestToHash = fromRequestToHash;
exports.default = void 0;

var _index = require("../../chain-able/index.js");

const version = process.env.VERSION;
/**
 * @param {Express.request} req
 * @return {String}
 * @example GET/url/@@/{params, body}
 */
// eslint-disable-next-line

function fromRequestToHash(request, namespace = '') {
  const req = request.req || request; // statusCode

  const hash = req.hash,
        cookie = req.cookie,
        originalUrl = req.originalUrl,
        _parsedOriginalUrl = req._parsedOriginalUrl,
        _parsedUrl = req._parsedUrl,
        method = req.method,
        referer = req.referer,
        baseUrl = req.baseUrl;
  const query = req.query || req.params || req.body || {};
  const interestedin = {
    query,
    hash,
    cookie,
    originalUrl,
    _parsedOriginalUrl,
    _parsedUrl,
    method,
    referer,
    baseUrl // fromRequestToLog(req)

  };

  if (hash) {
    return hash;
  } // GET/url


  let computed = '';

  if (req.url) {
    computed += req.url._raw || req.url;
  }

  if (!computed && req.originalUrl) {
    computed += originalUrl;
  }

  if (!computed && req._parsedOriginalUrl) {
    computed += req._parsedOriginalUrl.href;
  }

  if (!computed && req._parsedUrl) {
    computed += req._parsedUrl.url;
  }

  if (!computed && req.referer) {
    computed += req.referer;
  } // if (!computed && req.req) {
  //   return fromRequestToHash(req.req, namespace)
  // }


  computed = '' + version + namespace + method + computed; // can cache per user
  // computed += cookie || ''
  // separate

  computed += '/@@/';
  Object.keys(query).forEach(key => computed += key + (0, _index.stringify)(query[key])); // could also md5 / fliphash

  if (computed.length > 100) {
    computed = computed.slice(0, 100);
  } // const computed = stringify({ [method + originalUrl || url._raw]: query })


  return computed;
}

var _default = fromRequestToHash;
exports.default = _default;