ac6b4b6c9af335e19755869fe353a93a6c4ca13b
GW-16: empty body / malformed first line / missing header fields / per-line cap / batch over-cap rejections now route through call_error_to_http_response_with_identity, mapping INVALID_INPUT to 422 — same status as mid-stream chunk errors. One error class, one status. GW-17: invoke_sink wraps the registry sink invoke in the same 30 s tokio::time::timeout the Once-op invoke uses; a hung sink handler surfaces as a TIMEOUT (504, retryable) error envelope instead of holding the HTTP connection forever. The sink wrapper bounds the whole dispatch (chunk pacing included), matching http-server.md's deadline contract. Docs: http-server.md error table documents the 422 triggers and the sink deadline; http-adapters.md batch cap status corrected. to_openapi: gateway spec version 1.3.0 -> 1.4.0 (ADR-045 minor): /publish framing faults and /batch cap reject documented at 422 (the 400 slots moved with the runtime); /publish 400 slot removed; 504 description covers the sink dispatch. Verification: scripts/verify.sh OK (397 tests); cargo test --all-features OK (513 tests); clippy --all-features --all-targets -D warnings OK; cargo fmt --check OK.
Languages
Rust
98.6%
Python
1.3%
Shell
0.1%