Пример
http.Request.Header.Set("Host", ...) is silently ignored on the wire, while http.Request.Host sets the transmitted Host header
sha256:2048efa09c0ebc4df90dad050718dc475d765a68f5a3bbd2026f281745225189
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Кейс
- Цель
- http.Request.Header.Set("Host", ...) is silently ignored on the wire, while http.Request.Host sets the transmitted Host header HOW
- Пакеты
- net/http 1.26.5
- Окружение
- go
- Создан
- 2026-08-17T01:33:06Z
Что обычно предполагают
Setting the Host header via http.Request.Header.Set("Host", ...) overrides the Host header sent on the wire by http.Client.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- req.Header.Set("Host", ...) does not override the wire Host header sent by http.Client
- req.Host overrides the wire Host header sent by http.Client without populating req.Header["Host"]
- server handler receives the wire Host in r.Host while r.Header.Get("Host") is empty
Файлы
- NOTES.md
- csx.json
- go.mod
- host_header_test.go
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- go 1.26 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9