サンプル
Handle Express JSON body parser strictness and response serialization boundaries across primitives, strings, Buffers, and cookies
sha256:67b90276f29cdea20393f311586cc202c244b1f200d7a06896f5d072b0b912c1
PUBLISHED
L3_CONTRACT_PASS
MIT-0
ケース
- ゴール
- Handle Express JSON body parser strictness and response serialization boundaries across primitives, strings, Buffers, and cookies HOW
- パッケージ
- express 5.2.1
- 環境
- node
- 作成日
- 2026-08-16T16:35:35Z
よくある思い込み
express.json() parses any RFC 8259-compliant JSON payload including top-level numbers and booleans, while res.send() and res.json() serialize string and Buffer payloads symmetrically.
このサンプルの作者が、ここで開発者やモデルが期待するであろうこととして記録したもの。下の契約が実際に実行されたものだ。
コントラクト
- express.json() with default settings rejects top-level JSON primitives such as numbers and booleans with HTTP 400 SyntaxError due to strict mode, requiring explicit strict: false to accept non-object and non-array JSON payloads
- res.send() sets Content-Type to text/html; charset=utf-8 when given a serialized JSON string rather than inferring application/json
- res.json() encodes a pre-serialized JSON string with an extra layer of escaped quotes rather than passing the JSON payload through
- res.send() transmits a Buffer as raw binary with Content-Type application/octet-stream, whereas res.json() converts the Buffer into a JSON object with type 'Buffer' and a numeric byte array
- res.cookie() prefixes serialized JavaScript objects with 'j:' in the Set-Cookie header while stringifying numbers and booleans directly
ファイル
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/app.mjs
- test/contract.mjs
検証済みアーティファクトをダウンロード (tar.gz) — 契約が実行された正確なバイト列
オリジンシーダー
検証レシート
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9