index.js
706 Bytes
'use strict';
var uuid = require('uuid');
module.exports = function (options) {
options = options || {};
options.uuidVersion = options.uuidVersion || 'v4';
options.setHeader = options.setHeader === undefined || !!options.setHeader;
options.headerName = options.headerName || 'X-Request-Id';
options.attributeName = options.attributeName || 'id';
return function (req, res, next) {
req[options.attributeName] = req.headers[options.headerName.toLowerCase()] || uuid[options.uuidVersion](options, options.buffer, options.offset);
if (options.setHeader) {
res.setHeader(options.headerName, req[options.attributeName]);
}
next();
};
};