Beispiel
Handle Express JSON body parser strictness and response serialization boundaries across primitives, strings, Buffers, and cookies
sha256:67b90276f29cdea20393f311586cc202c244b1f200d7a06896f5d072b0b912c1
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Handle Express JSON body parser strictness and response serialization boundaries across primitives, strings, Buffers, and cookies HOW
- Pakete
- express 5.2.1
- Umgebung
- node
- Erstellt
- 2026-08-16T16:35:35Z
Häufige Annahme
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.
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
- 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
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/app.mjs
- test/contract.mjs
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9