xref: /aosp_15_r20/external/grpc-grpc-java/xds/third_party/envoy/src/main/proto/envoy/type/matcher/v3/path.proto (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
1syntax = "proto3";
2
3package envoy.type.matcher.v3;
4
5import "envoy/type/matcher/v3/string.proto";
6
7import "udpa/annotations/status.proto";
8import "udpa/annotations/versioning.proto";
9import "validate/validate.proto";
10
11option java_package = "io.envoyproxy.envoy.type.matcher.v3";
12option java_outer_classname = "PathProto";
13option java_multiple_files = true;
14option go_package = "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3;matcherv3";
15option (udpa.annotations.file_status).package_version_status = ACTIVE;
16
17// [#protodoc-title: Path matcher]
18
19// Specifies the way to match a path on HTTP request.
20message PathMatcher {
21  option (udpa.annotations.versioning).previous_message_type = "envoy.type.matcher.PathMatcher";
22
23  oneof rule {
24    option (validate.required) = true;
25
26    // The ``path`` must match the URL path portion of the :path header. The query and fragment
27    // string (if present) are removed in the URL path portion.
28    // For example, the path ``/data`` will match the ``:path`` header ``/data#fragment?param=value``.
29    StringMatcher path = 1 [(validate.rules).message = {required: true}];
30  }
31}
32