express-mw-correlation-id
Version:
express middleware that correlates HTTP requests between a client and server
29 lines (22 loc) • 604 B
JavaScript
/*
eslint
no-multi-spaces: ["error", {exceptions: {"VariableDeclarator": true}}]
padded-blocks: ["error", {"classes": "always"}]
max-len: ["error", 80]
*/
const uuid = require('uuid.v4')
module.exports = setCorrelationId
function setCorrelationId (name, formatter = (id) => id) {
if (typeof name === 'function') {
formatter = name
name = null
}
return setCorrelationIdMw
function setCorrelationIdMw (req, res, next) {
const id = req.get(name || 'X-Request-ID')
req.id = id || formatter(uuid())
res.setHeader(name || 'X-Request-ID', req.id)
next()
}
}