CodeSampleX

Пример

github.com/gin-gonic/gin v1.12.0: Enable ContextWithFallback on gin.Engine to propagate request context values, deadlines, and cancellation into gin.Context

Проверенный пример — golang github.com/gin-gonic/gin v1.12.0: Enable ContextWithFallback on gin.Engine to propagate request context values, deadlines, and…

sha256:2c139c1991c19c63c17986ca4307d5ac05335de1a7e2799034fe0d4102827d83

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда go 1.26 linux x64 go 1.26 go go

Среды запусков проверки

Окружение Контракт Этапы Запуск
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 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-18

Кейс

HOW
Цель
Enable ContextWithFallback on gin.Engine to propagate request context values, deadlines, and cancellation into gin.Context
Пакеты
Символы
  • Engine.ContextWithFallback
  • gin.New
  • Engine.ServeHTTP
  • Context.Value
  • Context.Done
  • Context.Deadline
  • Context.Err
  • Context.Get
  • Context.GetString
  • Context.Set
Окружение
go 1.26
Создан
2026-08-17T11:45:39Z

Контракт

  1. By default gin.Engine has ContextWithFallback disabled, causing gin.Context to return nil for all http.Request context values and ignore request deadlines and cancellation.
  2. assert setting ContextWithFallback to true enables gin.Context.Value to resolve values from http.Request.Context while preserving Gin local key overrides
  3. assert setting ContextWithFallback to true enables gin.Context to propagate cancellation and deadlines from http.Request.Context via Done, Deadline, and Err
  4. assert Context.Get and Context.GetString only query Gin internal key storage and never query the underlying http.Request.Context even when ContextWithFallback is enabled
  5. assert all router requests execute through httptest and Engine.ServeHTTP in memory without binding network listeners

Файлы

  • NOTES.md
  • csx.json
  • fallback.go
  • fallback_test.go
  • go.mod
  • go.sum

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed