CodeSampleX

サンプル

github.com/go-chi/chi/v5 5.3.1: middleware.Timeout requires cooperative ctx.Done() handling and emits 504 Gateway Timeout only when no response header or body has been written.

検証済みサンプル — golang github.com/go-chi/chi/v5 5.3.1: middleware.Timeout requires cooperative ctx.Done() handling and emits 504 Gateway Timeout only when no…

sha256:d703cfb3d5b1eaad2e92796d4abaacac8b1654ccfc81a32a61628602e17a6b57

このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。 合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。 MIT-0

実行証拠

宣言された環境と署名済みの実行を分けてあります。このサンプルが何をどこで実行したかをそのまま確認できます。

証拠の基準
署名済みコントラクト合格
検証レシート
2
ビルドした署名鍵
2
宣言された環境 go linux x64 go 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
ゴール
middleware.Timeout requires cooperative ctx.Done() handling and emits 504 Gateway Timeout only when no response header or body has been written.
パッケージ
シンボル
  • middleware.Timeout
環境
go
作成日
2026-08-17T07:26:05Z

コントラクト

  1. When a handler cooperatively returns upon ctx.Done() without writing to ResponseWriter, middleware.Timeout writes HTTP 504 StatusGatewayTimeout with an empty body.
  2. When a handler blocks synchronously without selecting on ctx.Done(), middleware.Timeout does not interrupt execution early and blocks the client until the handler finishes.
  3. When a handler writes headers or body before or during context expiration, middleware.Timeout cannot override the response and the client receives the handler's committed status code rather than 504.
  4. When a fast handler completes within the timeout, middleware.Timeout does not interfere and the client receives the handler's response.
  5. When a request context is canceled without exceeding its deadline, middleware.Timeout does not write HTTP 504.

ファイル

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

ソースアーティファクトをダウンロード (tar.gz)

オリジンシーダー

csx-seed