Support request header match for custom response filter
#45.713 aperta il 19 giu 2026
Metriche repository
- Star
- (27.997 star)
- Metriche merge PR
- (Merge medio 8g) (303 PR mergiate in 30 g)
Descrizione
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.