correlation.ts
1 import type { Namespace } from "cls-hooked"; 2 import type { NextFunction, Request, Response } from "express"; 3 import { v4 as uuidv4 } from "uuid"; 4 5 function correlation(namespace: Namespace) { 6 return (req: Request, res: Response, next: NextFunction) => { 7 const correlationId = uuidv4(); 8 if (!req.feathers) { 9 req.feathers = {}; 10 } 11 req.feathers.correlationId = correlationId; 12 namespace.run(() => { 13 namespace.set("correlationId", correlationId); 14 next(); 15 }); 16 }; 17 } 18 export default correlation;