NestJS: Как получить ExecutionContext в Middleware - PullRequest
0 голосов
/ 29 апреля 2019

Мы используем NestJS для нашего приложения NodeJS. В нашем приложении есть несколько промежуточных программ / охранников / перехватчиков для создания контекста запроса пользователя, проверки токена jwt, запроса / ответа на перехват и т. Д.

Мы также реализовали несколько пользовательских декораторов, чтобы установить метаданные для наших конечных точек. Эти данные очень легко использовать в элементах защиты / перехватчиков, потому что у вас есть ExecutionContext в функциях canActivate / intercept.

Но нам очень не хватает этой функциональности в промежуточном программном обеспечении. Есть ли шанс получить / внедрить ExecutionContext в промежуточном программном обеспечении NestJS?

, например

export class SomeMiddleware implements NestMiddleware {
    constructor(@Inject('ExecutionContext') context: ExecutionContext) {}

    use(req, res, next) {
        // get data from context / decorator
        Reflect.getMetadata(SOME_KEY, context.getHandler());

        next();
    }
}
...