Middleware
El gateway de PRX usa una pila de middleware componible para manejar preocupaciones transversales como autenticacion, limitacion de velocidad, CORS y registro de solicitudes.
Pila de middleware
Las solicitudes pasan a traves de la pila de middleware en orden:
- Registro de solicitudes -- registrar solicitudes entrantes con temporizacion
- CORS -- manejar cabeceras de intercambio de recursos entre origenes
- Autenticacion -- validar tokens bearer o claves API
- Limitacion de velocidad -- aplicar limites de solicitudes por cliente
- Enrutamiento de solicitudes -- despachar al manejador apropiado
Middleware de autenticacion
toml
[gateway.auth]
enabled = true
method = "bearer" # "bearer" | "api_key" | "none"
token_secret = "your-secret-key"Limitacion de velocidad
toml
[gateway.rate_limit]
enabled = true
requests_per_minute = 60
burst_size = 10CORS
toml
[gateway.cors]
allowed_origins = ["https://app.example.com"]
allowed_methods = ["GET", "POST", "PUT", "DELETE"]
allowed_headers = ["Authorization", "Content-Type"]
max_age_secs = 86400Registro de solicitudes
Todas las solicitudes a la API se registran con metodo, ruta, codigo de estado y tiempo de respuesta. El nivel de log es configurable:
toml
[gateway.logging]
level = "info" # "debug" | "info" | "warn" | "error"
format = "json" # "json" | "pretty"