fix(observability): RequestLoggingMiddleware debe envolver a Tenant/License

Estaba registrado antes que Tenant/License, así que su cronómetro arrancaba
DESPUÉS de que ambos ya habían corrido — el Duration: en los logs nunca
incluyó el costo de verify-license/auth-me contra el Hub, dando la falsa
impresión de que todo respondía en 2-5ms. Reordenado para que sea el más
externo de los tres (CORS sigue siendo el más externo de todos).
This commit is contained in:
2026-07-21 16:32:27 -05:00
parent beb2f7bdf0
commit b9a0c55719

View File

@@ -60,12 +60,17 @@ async def on_startup():
# Agregar middlewares personalizados # Agregar middlewares personalizados
if settings.DEBUG:
app.add_middleware(RequestLoggingMiddleware)
app.add_middleware(LicenseValidationMiddleware) app.add_middleware(LicenseValidationMiddleware)
app.add_middleware(TenantMiddleware) app.add_middleware(TenantMiddleware)
# RequestLoggingMiddleware va después de Tenant/License (add_middleware() invierte
# el orden de ejecución: el último en registrarse corre primero) para que su cronómetro
# envuelva TODO, incluyendo las llamadas al Hub — si no, "Duration:" en los logs
# nunca reflejó el costo real de verify-license/auth-me, dando una falsa sensación
# de que todo respondía en 2-5ms.
if settings.DEBUG:
app.add_middleware(RequestLoggingMiddleware)
# CORS debe ser el último en añadirse para que sea el más externo # CORS debe ser el último en añadirse para que sea el más externo
# y cubra todas las respuestas, incluyendo las de los middlewares internos # y cubra todas las respuestas, incluyendo las de los middlewares internos
app.add_middleware( app.add_middleware(