#9387·grpc-go

Unify the header matcher implementations across RBAC filters and RDS

Author: easwarsCreated Sep 1, 2026Updated Sep 15, 2026
LabelsP2Type: Internal Cleanup

Currently, RBAC filter config and RouteConfiguration, both use the HeaderMatcher proto defined here: https://github.com/envoyproxy/envoy/blob/7a8bd7bfbd6daa0c13c8f76fc979cb473dd248c2/api/envoy/config/route/v3/route_components.proto#L2799

But the two implementations have very different ways of parsing this proto. We should unify these two codepaths, and while we do that, we need to ensure that we have guarantees built into the HeaderMatcher implementation to take care of lowercasing the header names (to comply with the fact that grpc stores metadata with lowercase keys). These were handled separately in https://github.com/grpc/grpc-go/pull/9332 and https://github.com/grpc/grpc-go/pull/9353.