Description
Is there an existing issue for this?
- I have searched the existing issues
Current behavior
I'm currently working on a NestJS module which registers a UI and some endpoints via a Fastify plugin using a prefix.
this.adapterHost.httpAdapter
.getInstance()
.register(this.registerPlugin(), {prefix: '/my-prefix'});
When registering a middleware for the routes matching the prefix, the middleware won't trigger.
configure(consumer: MiddlewareConsumer): any {
consumer
.apply(MyMiddleware)
.forRoutes('/my-prefix', 'my-prefix', '/my-prefix/*')
}
Minimum reproduction code
https://github.com/DennisSnijder/nestjs-bull-board-example
Steps to reproduce
- yarn install
- docker-compose up -d
- yarn start:dev
- visit:
http://localhost:3000/queues
Expected behavior
When the configured routes for the endpoint is being reached, it should trigger the middleware provided.
Package
- I don't know. Or some 3rd-party package
-
@nestjs/common
-
@nestjs/core
-
@nestjs/microservices
-
@nestjs/platform-express
-
@nestjs/platform-fastify
-
@nestjs/platform-socket.io
-
@nestjs/platform-ws
-
@nestjs/testing
-
@nestjs/websockets
- Other (see below)
Other package
No response
NestJS version
10.0.0
Packages versions
[System Information]
OS Version : macOS Unknown
NodeJS Version : v16.20.0
YARN Version : 1.22.19
[Nest CLI]
Nest CLI Version : 10.0.1
[Nest Platform Information]
platform-express version : 10.0.0
platform-fastify version : 10.0.0
schematics version : 10.0.1
testing version : 10.0.0
bullmq version : 1.1.0
common version : 10.0.0
core version : 10.0.0
cli version : 10.0.1
Node.js version
16.20
In which operating systems have you tested?
- macOS
- Windows
- Linux
Other
In the AppModule
the middleware is being registered with the desired routes (in this example /queues
).
The Fastify plugin is registered through the "BullBoardModule" see: https://github.com/felixmosh/bull-board/blob/master/packages/nestjs/src/bull-board.root-module.ts#L30
Interesting thing to notice: when reaching to an not existing url, the middleware does register (I guess it falls back to the NestJS route handler?) for example https://localhost:3000/queues/non-exisiting-route