envoyproxy/envoy

Route Matching during filter dispatch

Open

#6,824 opened on May 6, 2019

View on GitHub
 (6 comments) (2 reactions) (0 assignees)C++ (5,373 forks)batch import
area/httpenhancementhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

At present envoy does not support route matching to selectively dispatch a filter.

Nginx/Apache support configs like the following

<Location "/super-secret">
    AuthBasicProvider ldap
   AuthLDAPURL ldap://127.0.0.1/dc=example,dc=com?uid?one
    Require valid-user
</Location>

This config uses the ldap filter only when a route is matched. At present every filter must support an ad-hoc enable-disable flag. This should be supported directly.

Options:

  • Add RouteMatch to HTTPFilter
  • Standardize on request dynamic metadata key such as filter_name.enabled. This metadata can then be added as part of a route. httpConnectionManager should check this value before dispatching.

Contributor guide