ExecutionContext

const request = context.switchToHttp().getRequest();

Lifecycle

Incoming Request
    ↓
Middleware
    ↓
Guards
    ↓
Interceptors (before)
    ↓
Pipes
    ↓
Controller
    ↓
Service
    ↓
Interceptors (after)
    ↓
Exception Filters
    ↓
Response

Middleware

Like Express middleware.

// equivalent in Spring: OncePerRequestFilter