仓库指标
- Star
- (27,997 star)
- PR 合并指标
- (平均合并 8天) (30 天内合并 303 个 PR)
描述
Title: Support request header match for custom response filter
Description:
The use case for this feature request is to send either an HTML or JSON content-type error page, depending on the Accept request header sent by the client.
We used this in other proxies like Apache HTTPD and Nginx and would allow us to migrate to envoy proxy resp. envoy gateway - https://github.com/envoyproxy/gateway/issues/8608
The custom response http filter allows matching on response status, response headers, and more.
What is missing is the ability to match on request headers. The documentation is not clear on this, but the code clearly states that this is not supported: https://github.com/envoyproxy/envoy/blob/231c51dae4623efa72489741cbe1a2db0c85a683/source/extensions/filters/http/custom_response/custom_response_filter.cc#L23-L25
There are other ways to work around the issue. Such as having different route matches based on this header, which means you need to double the number of routes. Alternatively, you can take the detour via header-to-metadata and implement a quick hack.
Having a clean support for also matching against request headers would be preferred.