Skip to content

Commit 110162d

Browse files
committed
chore(route-envelope): declare the dispatcher /meta list answer's Vary header as its second hand-built response
Claude-Session: https://claude.ai/code/session_01UYBdGBzWSrAMzpW8ah3GbP Co-authored-by: Claude <noreply@anthropic.com>
1 parent 5d1ee50 commit 110162d

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

‎scripts/check-route-envelope.mjs‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,9 +493,15 @@ const DISPATCHER_DOMAINS = {
493493
// document while nothing was deleted. The restored guard answers 405, and it
494494
// must carry `Allow:` to name what is allowed to a machine, which
495495
// `deps.error` cannot express — the same reason `mcp.ts` hand-rolls its 405.
496+
//
497+
// [#20320] Was 1. The `/meta/:type` list answer now varies by
498+
// `Accept-Language` — the list chain it shares with `RestServer` translates
499+
// it and collapses each doc to the request's locale — so it must carry
500+
// `Vary: Accept-Language`, as `RestServer`'s list does, and `deps.success`
501+
// takes no headers. Its body is still `deps.success`'s envelope, spread.
496502
'meta.ts': {
497-
handBuilt: 1,
498-
note: 'one 405 on /metadata/:type/:name that must carry an `Allow:` header (`deps.error` takes none); the body is the declared envelope and its code is derived from the status',
503+
handBuilt: 2,
504+
note: 'one 405 on /metadata/:type/:name that must carry an `Allow:` header (`deps.error` takes none), and the /meta/:type list answer that must carry `Vary: Accept-Language` (`deps.success` takes none); both bodies are the declared envelope, the 405 code derived from the status',
499505
},
500506

501507
// Kinds 1 and 2 together.

0 commit comments

Comments
 (0)