Beispiel
Demonstrate how caddyhttp request variables replacer resolves context variables and treats unset http.vars placeholders as known.
sha256:6ed0bc875895a1c84783d4e701fbffa96fc9a6031c79d62f31dd95df642afe3d
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
- Demonstrate how caddyhttp request variables replacer resolves context variables and treats unset http.vars placeholders as known. HOW
- Pakete
-
github.com/caddyserver/caddy/v2 2.11.4
- Umgebung
- go
- Erstellt
- 2026-08-17T22:09:51Z
Häufige Annahme
Evaluating ReplaceKnown on an unset http.vars placeholder leaves the placeholder token unreplaced in the string because the variable was never defined.
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
- The caddyhttp replacer recognizes all {http.vars.*} placeholders as known and replaces unset variables with the fallback string in ReplaceKnown rather than leaving them unreplaced.
- Context variables set via caddyhttp.SetVar are dynamically resolved by {http.vars.<name>} placeholders in the replacer.
- Setting a variable to nil via caddyhttp.SetVar deletes it from the request context variable map.
- The replacer resolves standard HTTP request properties such as method, path, query parameters, and headers alongside custom context variables.
- VarsMatcher evaluates placeholders in rule values against stored context variables without expanding placeholder syntax inside the stored values.
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- request_vars_replacer_test.go
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