Support for Request MetadataKind in InternalUpstreamTransport
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 437
Description
*Title*: Support for Request MetadataKind in InternalUpstreamTransport
*Description*:
I have a usecase where I am extracting an http header in a Lua filter, setting it in dynamicMetadata and passing it to an internal listener which has a TCPProxy filter configured with `tunneling_config`. The value that is set in dynamicMetadata needs to be referenced in the `tunneling_config`.
It seems there is [support](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/internal_upstream/v3/internal_upstream.proto#envoy-v3-api-msg-extensions-transport-sockets-internal-upstream-v3-internalupstreamtransport) for `passthrough_metadata` for passing information from one listener to the other listener in this case. However, even though the docs seem to suggest that `request` metadataKind is supported ( which is [needed](https://www.envoyproxy.io/docs/envoy/latest/api-v3/type/metadata/v3/metadata.proto#envoy-v3-api-msg-type-metadata-v3-metadatakind-request) for passing DynamicMetadata ), it seems the internal implementation is missing [here](https://github.com/envoyproxy/envoy/blob/main/source/extensions/transport_sockets/internal_upstream/config.cc#L55-L63) and [here](https://github.com/envoyproxy/envoy/blob/main/source/extensions/transport_sockets/internal_upstream/config.cc#L81-L89)
Is my understanding correct ? Happy to work on a PR if I can get any pointers!
[optional *Relevant Links*:]
>Any extra documentation required to understand the issue.
Contributor guide
Assessment
This issue has not been assessed yet.