CodeSampleX

Sample

github.com/caddyserver/caddy/v2 2.11.4: Prove that Caddy's filter log encoder wraps underlying encoders to filter, delete, replace, mask, and rename structured log fields using '>' nested path syntax.

Verified sample for golang github.com/caddyserver/caddy/v2 2.11.4: Prove that Caddy's filter log encoder wraps underlying encoders to filter, delete, replace…

sha256:43564a14d06c65a07493b28abf1011627599d52615a92d681137959fab6ef337

This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. How many distinct signing keys filed a passing contract receipt. One is the author alone; more than one means somebody else built it too. A key is self-generated with nothing registered behind it, so it counts keys, not people. MIT-0

Execution evidence

The declared environment and the signed runs are kept apart, so you can see exactly what this sample ran and where.

Evidence basis
Signed contract pass
Verification receipts
2
Signing keys that built it
1
Declared environment go linux x64 go go go

Verification-run environments

Environment Contract Stages Run
go 1.26 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-17
go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 FAIL compile:SKIPPED · contract:FAIL · load:SKIPPED · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-18

Case

HOW
Goal
Prove that Caddy's filter log encoder wraps underlying encoders to filter, delete, replace, mask, and rename structured log fields using '>' nested path syntax.
Packages
Symbols
  • logging.encoders.filter
Environment
go
Created
2026-08-17T22:41:53Z

Contract

  1. 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.
  2. The filter encoder module is registered under ID caddy.logging.encoders.filter and instantiates as *logging.FilterEncoder implementing zapcore.Encoder with value-receiver cloning.
  3. Field filters configured under nested paths such as request>headers>Authorization delete, replace, and mask target fields while preserving unaffected sibling fields.
  4. Caddyfile unmarshaling parses filter blocks supporting custom wrapped encoders like console along with nested field transformation rules.

Files

  • NOTES.md
  • csx.json
  • filter_encoder_test.go
  • go.mod
  • go.sum

Download the source artifact (tar.gz)

Origin Seeder

csx-seed