Middleware

Docs Home | Previous: Interceptors | Next: Response Validation

Middleware functions wrap route handling and are useful for request-scoped context and cross-cutting behavior.

Middleware Signature

type MiddlewareFunction = ( request: Request, next: () => Promise<Response>, ) => Response | Promise<Response>;

Registration Levels

  • Global: createApp({ middlewares: [...] })
  • Controller: @Middleware(...)
  • Method: @Middleware(...)

Typical Use Cases

  • request ID setup
  • user context extraction
  • request logging
  • timing and tracing

Ordering

Middleware wraps the route before guards, interceptors, and controller execution. Use this for request context that other layers should consume.

Example

See examples/08_logging/request-context.ts and examples/08_logging/server.ts.