Repository URL to install this package:
|
Version:
1.2.8 ▾
|
"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;