Middleware
Das PRX-Gateway verwendet einen komponierbaren Middleware-Stack zur Handhabung von Querschnittsbelangen wie Authentifizierung, Ratenlimitierung, CORS und Anfragenprotokollierung.
Middleware-Stack
Anfragen durchlaufen den Middleware-Stack in dieser Reihenfolge:
- Anfragenprotokollierung -- eingehende Anfragen mit Zeiterfassung protokollieren
- CORS -- Cross-Origin Resource Sharing-Header handhaben
- Authentifizierung -- Bearer-Tokens oder API-Schlussel validieren
- Ratenlimitierung -- Pro-Client-Anfragelimits erzwingen
- Anfrage-Routing -- an den entsprechenden Handler weiterleiten
Authentifizierungs-Middleware
toml
[gateway.auth]
enabled = true
method = "bearer" # "bearer" | "api_key" | "none"
token_secret = "your-secret-key"Ratenlimitierung
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 = 86400Anfragenprotokollierung
Alle API-Anfragen werden mit Methode, Pfad, Statuscode und Antwortzeit protokolliert. Die Protokollebene kann konfiguriert werden:
toml
[gateway.logging]
level = "info" # "debug" | "info" | "warn" | "error"
format = "json" # "json" | "pretty"