envoyproxy/envoy

Support request header match for custom response filter

Open

#45.713 aberto em 19 de jun. de 2026

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (5.373 forks)batch import
area/custom_responseenhancementhelp wanted

Métricas do repositório

Stars
 (27.997 stars)
Métricas de merge de PR
 (Mesclagem média 8d) (303 fundiu PRs em 30d)

Description

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.

Guia do colaborador