mcp_transcoder: add header and cookie param transcoding.
The Issue & Context
Envoy's MCP transcoder previously only supported mapping JSON-RPC parameters to query parameters or request bodies during REST transcoding, lacking the ability to inject those parameters as HTTP headers or cookies.
Root Cause Analysis
The transcoder did not have configuration or logic to extract JSON-RPC arguments and bind them to HTTP headers or cookies, limiting flexibility in how parameters could be transmitted in REST requests.
Solution Strategy & Architectural Pattern
Introduced a new ParameterBinding configuration in HttpRule to specify header and cookie parameter bindings, enhanced the transcoding logic to parse these bindings, inject corresponding HTTP headers and serialize cookies properly, and exclude these parameters from query strings and bodies. Comprehensive unit and integration tests were added to ensure correctness.
Key Takeaway for Contributors
Extending REST transcoding to support header and cookie parameter injection enables more versatile API gateway behaviors, improving protocol translation flexibility without increasing risk thanks to thorough testing.