https://github.com/AlexKorole/testExp...
1) middleware -- middleware.ts
2) middleware.ts
export function loggingBefore (request: any, response: any, next?: (err?: any) ='стрелка вправо' any): any {
console.log('do something Before...');
next();
}
export function loggingAfter (request: any, response: any, next?: (err?: any) ='стрелка вправо' any): any {
console.log('do something After...');
next();
}
3) user-controller.ts in class
@UseBefore(loggingBefore)
@UseAfter(loggingAfter)
console.log('do something in GET function...');
4) user-controller.ts in function
@UseBefore(loggingBefore)
@UseAfter(loggingAfter)
5) user-controller.ts in function
@UseInterceptor(function (action: Action, content: any) {
console.log('change response...');
return content;
})
6) npm install express-http-context
7) index.ts
const app: Express = express();
app.use(bodyParser.json());
app.use(httpContext.middleware);
useExpressServer(app, {
controllers: [UserController] // we specify controllers we want to use
});
app.use((req, res, next) ='стрелка вправо' {
httpContext.ns.bindEmitter(req);
httpContext.ns.bindEmitter(res);
});
8) middleware.ts loggingBefore
import httpContext from 'express-http-context';
console.log('set traceId = 123');
httpContext.set('traceId', 123);
9) middleware.ts loggingAfter
console.log(`tracedId = ${httpContext.get('traceId')}`);