Módulo 07 · Construyendo una API REST — Lección 2 de 3 · ~9 min
Middleware
Código que envuelve cada petición
Algo de trabajo le pertenece a todos los endpoints: registrar cada petición, verificar un token de login, medir cuánto tardó un handler. No quieres copiar eso en los veinte handlers. El middleware es la respuesta — una función que envuelve un handler, hace su trabajo y pasa el control.
En Go, un handler es cualquier cosa que satisface la interface http.Handler (tiene un método ServeHTTP(w, r)). Un middleware es una función que recibe un handler y retorna un handler nuevo:
func(next http.Handler) http.Handler
El handler next es el trabajo real; el handler retornado es tu envoltorio alrededor de él.