Middleware


¿Qué es un middleware?

Un middleware es una función intermedia que se ejecuta antes de llegar al manejador final de una ruta (endpoint). Su función principal es interceptar las peticiones (requests) o respuestas (responses) para realizar tareas comunes como validaciones, autenticación, logging o manejo de errores.

Son especialmente populares en frameworks como Express, Next.js o Fastify.

¿Para qué sirve un middleware?

Un middleware sirve para:

  • Verificar si un usuario está autenticado.
  • Validar datos de entrada antes de procesarlos.
  • Registrar logs o métricas de las peticiones.
  • Limitar la tasa de solicitudes (rate limiting).
  • Gestionar errores globales.

Ejemplo básico en Express

function logMiddleware(req, res, next) {
  console.log(\`[${new Date().toISOString()}] ${req.method} ${req.url}\`);
  next(); // pasa al siguiente middleware o al manejador final
}

app.use(logMiddleware);

Este middleware registra cada petición entrante en la consola.

Tipos de middleware en Express

  • Globales: afectan a todas las rutas (app.use()).
  • De ruta: se aplican a rutas específicas.
  • De error: manejan errores ((err, req, res, next)).
  • De terceros: como cors, morgan, helmet, etc.

¿Dónde se usa middleware?

  • En Express, para proteger rutas con autenticación.
  • En Next.js, para ejecutar lógica en el servidor antes del renderizado.
  • En APIs, para validar tokens JWT o verificar roles de usuario.

Conclusión

Un middleware es una capa intermedia poderosa para gestionar el flujo de las peticiones en un servidor. Permite separar responsabilidades y mantener el código más limpio y reutilizable.


Usamos cookies para mejorar tu experiencia. ¿Aceptas las cookies de análisis?