CodeSampleX

Sample

hono 4.13.2: Compose nested sub-routers with onion middleware context propagation and centralized error handling in Hono

Verified sample for npm hono 4.13.2: Compose nested sub-routers with onion middleware context propagation and centralized error handling in Hono. The…

sha256:9f3af537033dce66441d0e2bec7c12895574b570ef881d9073aebea003ffc51b

This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. How many distinct signing keys filed a passing contract receipt. One is the author alone; more than one means somebody else built it too. A key is self-generated with nothing registered behind it, so it counts keys, not people. MIT-0

Execution evidence

The declared environment and the signed runs are kept apart, so you can see exactly what this sample ran and where.

Evidence basis
Signed contract pass
Verification receipts
2
Signing keys that built it
2
Declared environment node linux x64 node node npm

Verification-run environments

Environment Contract Stages Run
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-17
node 22 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-18

Case

HOW
Goal
Compose nested sub-routers with onion middleware context propagation and centralized error handling in Hono
Packages
Symbols
  • Hono
  • c.set
  • c.get
  • app.route
  • app.onError
Environment
node
Created
2026-08-17T13:56:13Z

Contract

  1. Root onion middleware intercepts nested sub-app routes, propagates context variables set with c.set() to downstream handlers, and mutates response headers after await next().
  2. Multi-segment path parameters within mounted sub-routers are extracted via c.req.param() alongside inherited context variables.
  3. Centralized app.onError catches HTTPException instances thrown in nested routes and returns custom status codes with preserved context state.
  4. Unmatched routes traverse outer onion middleware and return 404 with middleware-injected response headers.

Files

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • src/index.mjs
  • test/contract.mjs

Download the source artifact (tar.gz)

Origin Seeder

csx-seed