Open
Description
Currently the following automatic instrumentations rely on users putting @Injectable
on top of their implementations:
- Middleware
- Interceptors
- Pipes
- Guards
The problem with this approach is that, even though the nestjs docs say you need the decorator for these constructs, they work fine without if they do not rely on other dependencies being injected. ref Currently these would not get instrumented without the decorator and users would have to manual instrumentation.
Solution Brainstorm:
There is several other places we can monkey-patch to make this more robust.
- core/nest-application.ts: contains API like
app.useGlobalFilters
,app.use
,app.useInterceptors
- other decorators that can be put directly on controllers and get implementations as input:
@UseFilters
,@Useinterceptors