Middleware interface for request processing
Middlewares use the @Transient() decorator and are registered via the configure(consumer) method in modules implementing MiddlewareConfigurable.
@Transient()
configure(consumer)
MiddlewareConfigurable
@Transient()export class LoggingMiddleware implements Middleware { async handle(ctx: RouterContext, next: () => Promise<void>): Promise<void> { const start = Date.now() await next() console.log(`Request took ${Date.now() - start}ms`) }}// Register in module:@Module({ providers: [...] })export class AppModule implements MiddlewareConfigurable { configure(consumer: MiddlewareConsumer): void { consumer.apply(LoggingMiddleware).forRoutes('*') }} Copy
@Transient()export class LoggingMiddleware implements Middleware { async handle(ctx: RouterContext, next: () => Promise<void>): Promise<void> { const start = Date.now() await next() console.log(`Request took ${Date.now() - start}ms`) }}// Register in module:@Module({ providers: [...] })export class AppModule implements MiddlewareConfigurable { configure(consumer: MiddlewareConsumer): void { consumer.apply(LoggingMiddleware).forRoutes('*') }}
Handle middleware logic Call next() to continue the middleware chain
Router context with request/response helpers
Function to call the next middleware or route handler
Middleware interface for request processing
Middlewares use the
@Transient()decorator and are registered via theconfigure(consumer)method in modules implementingMiddlewareConfigurable.Example