Beispiel
Prove that Caddy's filter log encoder wraps underlying encoders to filter, delete, replace, mask, and rename structured log fields using '>' nested path syntax.
sha256:43564a14d06c65a07493b28abf1011627599d52615a92d681137959fab6ef337
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- go
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- go
- Sprache
- go
- Paketmanager
- go
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- go 1.26
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- go 1.26
- Sprache
- go
- Paketmanager
- go
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Fall
- Ziel
- Prove that Caddy's filter log encoder wraps underlying encoders to filter, delete, replace, mask, and rename structured log fields using '>' nested path syntax. HOW
- Pakete
-
github.com/caddyserver/caddy/v2 2.11.4
- Umgebung
- go
- Erstellt
- 2026-08-17T22:41:53Z
Häufige Annahme
The filter log encoder requires an explicit wrapped encoder format and uses dot notation for nested log field paths.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- Caddy's filter log encoder module (caddy.logging.encoders.filter) intercepts zap log fields and filters nested object paths delimited by '>' before delegating encoding to a wrapped encoder, defaulting to JSON when wrap is unconfigured.
- The filter encoder module is registered under ID caddy.logging.encoders.filter and instantiates as *logging.FilterEncoder implementing zapcore.Encoder with value-receiver cloning.
- Field filters configured under nested paths such as request>headers>Authorization delete, replace, and mask target fields while preserving unaffected sibling fields.
- Caddyfile unmarshaling parses filter blocks supporting custom wrapped encoders like console along with nested field transformation rules.
Dateien
- NOTES.md
- csx.json
- filter_encoder_test.go
- go.mod
- go.sum
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9