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