Get and set request-scoped context anywhere, and use it in any framework.
It requires node v8.2.1 or higher for ES2015 and async_hooks support.
$ npm i http-context-nodejs
How to use it in NestJS
...
import * as uuid from 'node-uuid';
import * as httpContext from 'http-context-nodejs'
...
app.use((req: Request, res: Response, next: NextFunction) => {
httpContext.scope();
httpContext.set('traceId', uuid.v1());
next();
});
...
import * as httpContext from 'http-context-nodejs'
...
const traceId = httpContext.get('traceId');
...
...
import * as uuid from 'node-uuid';
import * as httpContext from 'http-context-nodejs';
...
app.use((req, res, next) => {
httpContext.scope();
httpContext.set('traceId', uuid.v1());
next();
});
...
import * as httpContext from 'http-context-nodejs'
...
const traceId = httpContext.get('traceId');
...