Concept Flow - Middleware ordering
Request Received
Middleware 1 Executes
Middleware 2 Executes
Route Handler Executes
Response Sent Back
Middleware run in the order they are registered. Each middleware processes the request before passing it on.
app.use(middlewareOne); app.use(middlewareTwo); // Request -> middlewareOne -> middlewareTwo -> handler
| Step | Middleware | Action | Next Step |
|---|---|---|---|
| 1 | middlewareOne | Processes request, calls next() | Pass to middlewareTwo |
| 2 | middlewareTwo | Processes request, calls next() | Pass to route handler |
| 3 | Route Handler | Handles request, sends response | Response sent |
| 4 | - | Request cycle complete | End |
| Variable | Start | After middlewareOne | After middlewareTwo | Final |
|---|---|---|---|---|
| request.processedBy | [] | [middlewareOne] | [middlewareOne, middlewareTwo] | [middlewareOne, middlewareTwo, handler] |
Middleware ordering in NestJS: - Middleware run in registration order - Each middleware must call next() to continue - Request flows through all middlewares before handler - Missing next() stops request chain - Order affects processing and response timing