Saltar al contenido
Framework Ecosystems LabsUn contrato, muchos ecosistemas, la misma prueba.

Parte 2 — La tubería: middleware, filtros e interceptores#

⬅️ Parte 1 · 🎓 Todas las clases · 📖 Glosario · Parte 3 ➡️

Todo lo que ocurre entre que llega la petición y se ejecuta tu código. El mismo patrón con cinco nombres distintos.

Clases 26 a 38 · 13 en total · 13 construidas · 11 tecnologías en juego.

🧭 De qué va esta parte#

Entre que la petición llega y tu función se ejecuta pasan cosas. Esta parte es esas cosas.

El patrón se llama de muchas maneras —middleware, capa, filtro, interceptor, gancho— y en el fondo es siempre el mismo: una pieza que envuelve a otra, hace su parte y decide si continúa. Trece clases para verlo en diez frameworks, y para entender por qué el orden en que se registran cambia el comportamiento.

Es la parte donde el programa deja de ser sobre HTTP y empieza a ser sobre arquitectura. Registro, correlación, errores, plazos, límites y cabeceras de seguridad no son funciones que se llaman: son decisiones que se toman una vez y se aplican a todo.

🎒 Qué da por sabido#

🎯 Qué sabrás hacer al terminarla#

🧵 Por qué en este orden#

Las tres primeras enseñan el mecanismo: qué es una capa (026), por qué el orden importa (027) y cómo se corta (028).

Las siete del medio son las capas que toda aplicación acaba teniendo: registro, correlación, errores, plazos, tamaño, tasa y cabeceras de seguridad. En ese orden porque cada una necesita la anterior.

Las tres últimas son la consecuencia arquitectónica de la inversión de control: si el framework construye tus objetos, tiene que saber cómo (036), cuánto viven (037) y a qué altura se engancha el comportamiento transversal (038).

📚 Las clases#

# Clase Qué resuelve Nivel Estado
026 El patrón middleware Reconocer la cadena de responsabilidad detrás de cinco nombres distintos. 🟢 introductorio ✅ Construida
027 El orden importa Predecir el efecto del orden de registro. 🟡 intermedio ✅ Construida
028 Terminación temprana Cortar la cadena sin llegar al manejador. 🟡 intermedio ✅ Construida
029 Registro de peticiones Emitir una línea por petición con lo que sirve para diagnosticar. 🟢 introductorio ✅ Construida
030 Identificador de correlación Seguir una petición a través de varios servicios. 🟡 intermedio ✅ Construida
031 Manejo centralizado de errores Convertir cualquier excepción en una respuesta del contrato. 🟡 intermedio ✅ Construida
032 Tiempos de espera No dejar que una petición lenta retenga un recurso para siempre. 🟡 intermedio ✅ Construida
033 Límite de tamaño del cuerpo Rechazar lo excesivo antes de leerlo entero. 🟡 intermedio ✅ Construida
034 Limitación de tasa Proteger el servicio del uso excesivo, legítimo o no. 🔴 avanzado ✅ Construida
035 Cabeceras de seguridad Aplicar las defensas que el navegador respeta si se las pides. 🟡 intermedio ✅ Construida
036 Inyección de dependencias Recibir las colaboraciones en lugar de construirlas. 🟡 intermedio ✅ Construida
037 Ciclo de vida de los objetos Elegir entre única instancia, por petición o por uso, y ver la diferencia. 🔴 avanzado ✅ Construida
038 Middleware, decorador y aspecto Distinguir tres formas de envolver comportamiento y cuándo usar cada una. 🔴 avanzado ✅ Construida

🎬 Las tecnologías que aparecen#

Entre paréntesis, en cuántas clases de esta parte interviene cada una. Estar aquí no es una recomendación: es que el problema de esa clase existe de verdad para esa tecnología.

Ecosistema Tecnologías
Python FastAPI (12), Django (1), Flask (1)
Node.js Express (10), Fastify (1)
.NET ASP.NET Core (13)
JVM Spring Boot (13)
PHP Laravel (3)
Node.js/TypeScript NestJS (3)
Go Gin (1)
Ruby Ruby on Rails (1)

📖 Las palabras que esta parte define#

Middleware · Almacén por petición · Terminación temprana · Identificador de correlación · Limitación de tasa · Contenedor de dependencias · Ámbito · Aspecto · Decorador

Todas, con su definición, en el glosario.

✅ Cómo se ejecuta una clase de esta parte#

node scripts/run-class.mjs 026

El verificador arranca cada implementación, la somete a su contrato.json y declara cuáles omitió por no encontrar su cadena de herramientas. Si te faltan cadenas, node scripts/doctor.mjs dice cuáles y cómo se instalan.

➡️ Y después#

La parte 3 pasa de la tubería al contrato: qué entra, con qué forma, y qué se responde cuando no encaja.