Files
fn_registry/functions/infra/http_middleware_chain.go
T
egutierrez c43322ecc0 feat: funciones puras HTTP — HTTPMiddlewareChain y HTTPCORSMiddleware
- HTTPMiddlewareChain: compone N middlewares preservando el orden (el primero es el mas externo)
- HTTPCORSMiddleware: genera Middleware con headers CORS configurables, maneja OPTIONS preflight con 204

Ambas son puras (sin I/O) y testeadas con httptest.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 01:57:39 +02:00

18 lines
570 B
Go

package infra
import "net/http"
// HTTPMiddlewareChain compone N middlewares en uno solo aplicandolos de izquierda a derecha.
// El primer middleware de la lista es el mas externo (se ejecuta primero).
// Si no se pasan middlewares retorna un Middleware que no modifica el handler.
func HTTPMiddlewareChain(middlewares ...Middleware) Middleware {
return func(final http.Handler) http.Handler {
// Aplicar en orden inverso para que el primero quede mas externo
h := final
for i := len(middlewares) - 1; i >= 0; i-- {
h = middlewares[i](h)
}
return h
}
}