Spaces:
Paused
Paused
File size: 707 Bytes
eeb3436 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | const { randomUUID } = require("crypto");
function createRequestContextMiddleware(logger) {
return (req, res, next) => {
const startedAt = Date.now();
req.context = {
requestId: req.header("x-request-id") || randomUUID(),
actorUserId: null,
tenantCode: null,
};
res.setHeader("x-request-id", req.context.requestId);
res.on("finish", () => {
logger.info("HTTP request completed", {
requestId: req.context.requestId,
method: req.method,
path: req.originalUrl,
statusCode: res.statusCode,
durationMs: Date.now() - startedAt,
});
});
next();
};
}
module.exports = {
createRequestContextMiddleware,
};
|