Uri Template Match Config (proto)

This extension has the qualified name envoy.path.match.uri_template.uri_template_matcher

Note

This extension is intended to be robust against both untrusted downstream and upstream traffic.

Tip

This extension extends and can be used with the following extension category:

This extension must be configured with one of the following type URLs:

extensions.path.match.uri_template.v3.UriTemplateMatchConfig

[extensions.path.match.uri_template.v3.UriTemplateMatchConfig proto]

If specified, the route is a template match rule meaning that the :path header (without the query string) must match the given path_template pattern.

Path template matching types:

  • * : Matches a single path component, up to the next path separator: /

  • ** : Matches zero or more path segments. If present, must be the last operator.

  • {name} or {name=*} : A named variable matching one path segment up to the next path separator: /.

  • {name=videos/*}A named variable matching more than one path segment.

    The path component matching videos/* is captured as the named variable.

  • {name=**} : A named variable matching zero or more path segments.

For example:

  • /videos/*/*/*.m4s would match videos/123414/hls/1080p5000_00001.m4s

  • /videos/{file} would match /videos/1080p5000_00001.m4s

  • /**.mpd would match /content/123/india/dash/55/manifest.mpd

{
  "path_template": ...
}
path_template

(string, REQUIRED)