Generate a hash from an express Request or http.IncomingMessage
$ npm install --save request-hash
Here's a simple example using an express app:
const requestHash = require('request-hash');
const express = require('express')
const app = express()
const port = 3000
// Initialize hash method using custom options
const hash = requestHash({ serializer: JSON.stringify, algorithm: 'md5' });
app.get('/', (req, res) => res.send(hash(req)))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
The API exposes an initialization function which receives the options in order to customize the hash, this main funciton returns another function that actually performs the hashing.
const requestHash = require('request-hash');
requestHash({
algorithm: 'sha256',
encoding: 'hex',
expand: false,
cookies: undefined, // undefined means all cookies are going to be used as-is
headers: undefined, // undefined means all headers are going to be used as-is
serializer: undefined // undefined means custom serialize function is going to be used
});
<string> Defines which hash algorithm to use, possible values depends on the supported OpenSSL version in the platform. Examples are sha256, sha512, md5, etc.<string> Defines a custom encoding to be used, possible values are: hex, latin1, base64.<function> An object serialization function to be used, if undefined uses a custom implementation<boolean> Allows you to bypass the hash algorithm, just returns the concatenated elements<array> List of cookie keys to be used to create the unique hash, defaults to using all elements<array> List of header keys to be used to create the unique hash, defaults to using all elementsconst requestHash = require('request-hash');
const hash = requestHash();
hash(req);
MIT © Ruy Adorno