Saltar al contenido principal

Request Lifecycle

Understand how an HTTP request flows through the Ever Gauzy API from entry to response.

Overview​

Phase 1: Middleware​

Express middleware processes the raw request:

MiddlewarePurpose
helmetSecurity headers
corsCORS handling
compressionResponse compression
body-parserJSON body parsing
cookie-parserCookie parsing

Phase 2: Guards​

Guards determine if the request is authorized:

GuardOrderPurpose
TenantPermissionGuard1stExtract and validate tenant
PermissionGuard2ndCheck user permissions
RoleGuard3rdCheck user role (optional)
FeatureFlagGuard4thCheck feature availability

Phase 3: Interceptors​

Interceptors transform request/response:

InterceptorPurpose
TransformInterceptorStandardize response format
TimeoutInterceptorRequest timeout handling
LazyLoadInterceptorLazy-load relations

Phase 4: Pipes​

Pipes validate and transform input:

PipePurpose
ValidationPipeDTO class-validator
UUIDValidationPipeUUID parameter validation
ParseJsonPipeJSON query param parsing

Phase 5: Controller β†’ Service β†’ Repository​

The actual business logic execution:

  1. Controller β€” route handler, delegates to service
  2. Service β€” business logic, tenant filtering
  3. Repository β€” database operations (TypeORM/MikroORM)

Phase 6: Response​

The response flows back through interceptors for transformation before being sent to the client.

Error Handling​

Errors at any phase are caught by the global exception filter: