matcher

package
v1.36.10-2025120520573... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const DoubleMatcher_Exact_case case_DoubleMatcher_MatchPattern = 2
View Source
const DoubleMatcher_MatchPattern_not_set_case case_DoubleMatcher_MatchPattern = 0
View Source
const DoubleMatcher_Range_case case_DoubleMatcher_MatchPattern = 1
View Source
const ListMatcher_MatchPattern_not_set_case case_ListMatcher_MatchPattern = 0
View Source
const ListMatcher_OneOf_case case_ListMatcher_MatchPattern = 1
View Source
const MetadataMatcher_PathSegment_Key_case case_MetadataMatcher_PathSegment_Segment = 1
View Source
const MetadataMatcher_PathSegment_Segment_not_set_case case_MetadataMatcher_PathSegment_Segment = 0
View Source
const PathMatcher_Path_case case_PathMatcher_Rule = 1
View Source
const PathMatcher_Rule_not_set_case case_PathMatcher_Rule = 0
View Source
const RegexMatcher_EngineType_not_set_case case_RegexMatcher_EngineType = 0
View Source
const RegexMatcher_GoogleRe2_case case_RegexMatcher_EngineType = 1
View Source
const StringMatcher_Exact_case case_StringMatcher_MatchPattern = 1
View Source
const StringMatcher_MatchPattern_not_set_case case_StringMatcher_MatchPattern = 0
View Source
const StringMatcher_Prefix_case case_StringMatcher_MatchPattern = 2
View Source
const StringMatcher_Regex_case case_StringMatcher_MatchPattern = 4
View Source
const StringMatcher_SafeRegex_case case_StringMatcher_MatchPattern = 5
View Source
const StringMatcher_Suffix_case case_StringMatcher_MatchPattern = 3
View Source
const StructMatcher_PathSegment_Key_case case_StructMatcher_PathSegment_Segment = 1
View Source
const StructMatcher_PathSegment_Segment_not_set_case case_StructMatcher_PathSegment_Segment = 0
View Source
const ValueMatcher_BoolMatch_case case_ValueMatcher_MatchPattern = 4
View Source
const ValueMatcher_DoubleMatch_case case_ValueMatcher_MatchPattern = 2
View Source
const ValueMatcher_ListMatch_case case_ValueMatcher_MatchPattern = 6
View Source
const ValueMatcher_MatchPattern_not_set_case case_ValueMatcher_MatchPattern = 0
View Source
const ValueMatcher_NullMatch_case case_ValueMatcher_MatchPattern = 1
View Source
const ValueMatcher_PresentMatch_case case_ValueMatcher_MatchPattern = 5
View Source
const ValueMatcher_StringMatch_case case_ValueMatcher_MatchPattern = 3

Variables

View Source
var File_envoy_type_matcher_metadata_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_node_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_number_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_path_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_regex_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_string_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_struct_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_value_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type DoubleMatcher

type DoubleMatcher struct {

	// Types that are valid to be assigned to MatchPattern:
	//
	//	*DoubleMatcher_Range
	//	*DoubleMatcher_Exact
	MatchPattern isDoubleMatcher_MatchPattern `protobuf_oneof:"match_pattern"`
	// contains filtered or unexported fields
}

Specifies the way to match a double value.

func (*DoubleMatcher) ClearExact

func (x *DoubleMatcher) ClearExact()

func (*DoubleMatcher) ClearMatchPattern

func (x *DoubleMatcher) ClearMatchPattern()

func (*DoubleMatcher) ClearRange

func (x *DoubleMatcher) ClearRange()

func (*DoubleMatcher) GetExact

func (x *DoubleMatcher) GetExact() float64

func (*DoubleMatcher) GetMatchPattern

func (x *DoubleMatcher) GetMatchPattern() isDoubleMatcher_MatchPattern

func (*DoubleMatcher) GetRange

func (x *DoubleMatcher) GetRange() *_type.DoubleRange

func (*DoubleMatcher) HasExact

func (x *DoubleMatcher) HasExact() bool

func (*DoubleMatcher) HasMatchPattern

func (x *DoubleMatcher) HasMatchPattern() bool

func (*DoubleMatcher) HasRange

func (x *DoubleMatcher) HasRange() bool

func (*DoubleMatcher) ProtoMessage

func (*DoubleMatcher) ProtoMessage()

func (*DoubleMatcher) ProtoReflect

func (x *DoubleMatcher) ProtoReflect() protoreflect.Message

func (*DoubleMatcher) Reset

func (x *DoubleMatcher) Reset()

func (*DoubleMatcher) SetExact

func (x *DoubleMatcher) SetExact(v float64)

func (*DoubleMatcher) SetRange

func (x *DoubleMatcher) SetRange(v *_type.DoubleRange)

func (*DoubleMatcher) String

func (x *DoubleMatcher) String() string

func (*DoubleMatcher) WhichMatchPattern

func (x *DoubleMatcher) WhichMatchPattern() case_DoubleMatcher_MatchPattern

type DoubleMatcher_Exact

type DoubleMatcher_Exact struct {
	// If specified, the input double value must be equal to the value specified here.
	Exact float64 `protobuf:"fixed64,2,opt,name=exact,proto3,oneof"`
}

type DoubleMatcher_Range

type DoubleMatcher_Range struct {
	// If specified, the input double value must be in the range specified here.
	// Note: The range is using half-open interval semantics [start, end).
	Range *_type.DoubleRange `protobuf:"bytes,1,opt,name=range,proto3,oneof"`
}

type DoubleMatcher_builder

type DoubleMatcher_builder struct {

	// Fields of oneof MatchPattern:
	// If specified, the input double value must be in the range specified here.
	// Note: The range is using half-open interval semantics [start, end).
	Range *_type.DoubleRange
	// If specified, the input double value must be equal to the value specified here.
	Exact *float64
	// contains filtered or unexported fields
}

func (DoubleMatcher_builder) Build

type ListMatcher

type ListMatcher struct {

	// Types that are valid to be assigned to MatchPattern:
	//
	//	*ListMatcher_OneOf
	MatchPattern isListMatcher_MatchPattern `protobuf_oneof:"match_pattern"`
	// contains filtered or unexported fields
}

Specifies the way to match a list value.

func (*ListMatcher) ClearMatchPattern

func (x *ListMatcher) ClearMatchPattern()

func (*ListMatcher) ClearOneOf

func (x *ListMatcher) ClearOneOf()

func (*ListMatcher) GetMatchPattern

func (x *ListMatcher) GetMatchPattern() isListMatcher_MatchPattern

func (*ListMatcher) GetOneOf

func (x *ListMatcher) GetOneOf() *ValueMatcher

func (*ListMatcher) HasMatchPattern

func (x *ListMatcher) HasMatchPattern() bool

func (*ListMatcher) HasOneOf

func (x *ListMatcher) HasOneOf() bool

func (*ListMatcher) ProtoMessage

func (*ListMatcher) ProtoMessage()

func (*ListMatcher) ProtoReflect

func (x *ListMatcher) ProtoReflect() protoreflect.Message

func (*ListMatcher) Reset

func (x *ListMatcher) Reset()

func (*ListMatcher) SetOneOf

func (x *ListMatcher) SetOneOf(v *ValueMatcher)

func (*ListMatcher) String

func (x *ListMatcher) String() string

func (*ListMatcher) WhichMatchPattern

func (x *ListMatcher) WhichMatchPattern() case_ListMatcher_MatchPattern

type ListMatcher_OneOf

type ListMatcher_OneOf struct {
	// If specified, at least one of the values in the list must match the value specified.
	OneOf *ValueMatcher `protobuf:"bytes,1,opt,name=one_of,json=oneOf,proto3,oneof"`
}

type ListMatcher_builder

type ListMatcher_builder struct {

	// Fields of oneof MatchPattern:
	// If specified, at least one of the values in the list must match the value specified.
	OneOf *ValueMatcher
	// contains filtered or unexported fields
}

func (ListMatcher_builder) Build

func (b0 ListMatcher_builder) Build() *ListMatcher

type ListStringMatcher

type ListStringMatcher struct {
	Patterns []*StringMatcher `protobuf:"bytes,1,rep,name=patterns,proto3" json:"patterns,omitempty"`
	// contains filtered or unexported fields
}

Specifies a list of ways to match a string.

func (*ListStringMatcher) GetPatterns

func (x *ListStringMatcher) GetPatterns() []*StringMatcher

func (*ListStringMatcher) ProtoMessage

func (*ListStringMatcher) ProtoMessage()

func (*ListStringMatcher) ProtoReflect

func (x *ListStringMatcher) ProtoReflect() protoreflect.Message

func (*ListStringMatcher) Reset

func (x *ListStringMatcher) Reset()

func (*ListStringMatcher) SetPatterns

func (x *ListStringMatcher) SetPatterns(v []*StringMatcher)

func (*ListStringMatcher) String

func (x *ListStringMatcher) String() string

type ListStringMatcher_builder

type ListStringMatcher_builder struct {
	Patterns []*StringMatcher
	// contains filtered or unexported fields
}

func (ListStringMatcher_builder) Build

type MetadataMatcher

type MetadataMatcher struct {

	// The filter name to retrieve the Struct from the Metadata.
	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// The path to retrieve the Value from the Struct.
	Path []*MetadataMatcher_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
	// The MetadataMatcher is matched if the value retrieved by path is matched to this value.
	Value *ValueMatcher `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

[#next-major-version: MetadataMatcher should use StructMatcher]

func (*MetadataMatcher) ClearValue

func (x *MetadataMatcher) ClearValue()

func (*MetadataMatcher) GetFilter

func (x *MetadataMatcher) GetFilter() string

func (*MetadataMatcher) GetPath

func (*MetadataMatcher) GetValue

func (x *MetadataMatcher) GetValue() *ValueMatcher

func (*MetadataMatcher) HasValue

func (x *MetadataMatcher) HasValue() bool

func (*MetadataMatcher) ProtoMessage

func (*MetadataMatcher) ProtoMessage()

func (*MetadataMatcher) ProtoReflect

func (x *MetadataMatcher) ProtoReflect() protoreflect.Message

func (*MetadataMatcher) Reset

func (x *MetadataMatcher) Reset()

func (*MetadataMatcher) SetFilter

func (x *MetadataMatcher) SetFilter(v string)

func (*MetadataMatcher) SetPath

func (*MetadataMatcher) SetValue

func (x *MetadataMatcher) SetValue(v *ValueMatcher)

func (*MetadataMatcher) String

func (x *MetadataMatcher) String() string

type MetadataMatcher_PathSegment

type MetadataMatcher_PathSegment struct {

	// Types that are valid to be assigned to Segment:
	//
	//	*MetadataMatcher_PathSegment_Key
	Segment isMetadataMatcher_PathSegment_Segment `protobuf_oneof:"segment"`
	// contains filtered or unexported fields
}

Specifies the segment in a path to retrieve value from Metadata. Note: Currently it's not supported to retrieve a value from a list in Metadata. This means that if the segment key refers to a list, it has to be the last segment in a path.

func (*MetadataMatcher_PathSegment) ClearKey

func (x *MetadataMatcher_PathSegment) ClearKey()

func (*MetadataMatcher_PathSegment) ClearSegment

func (x *MetadataMatcher_PathSegment) ClearSegment()

func (*MetadataMatcher_PathSegment) GetKey

func (x *MetadataMatcher_PathSegment) GetKey() string

func (*MetadataMatcher_PathSegment) GetSegment

func (x *MetadataMatcher_PathSegment) GetSegment() isMetadataMatcher_PathSegment_Segment

func (*MetadataMatcher_PathSegment) HasKey

func (x *MetadataMatcher_PathSegment) HasKey() bool

func (*MetadataMatcher_PathSegment) HasSegment

func (x *MetadataMatcher_PathSegment) HasSegment() bool

func (*MetadataMatcher_PathSegment) ProtoMessage

func (*MetadataMatcher_PathSegment) ProtoMessage()

func (*MetadataMatcher_PathSegment) ProtoReflect

func (*MetadataMatcher_PathSegment) Reset

func (x *MetadataMatcher_PathSegment) Reset()

func (*MetadataMatcher_PathSegment) SetKey

func (x *MetadataMatcher_PathSegment) SetKey(v string)

func (*MetadataMatcher_PathSegment) String

func (x *MetadataMatcher_PathSegment) String() string

func (*MetadataMatcher_PathSegment) WhichSegment

func (x *MetadataMatcher_PathSegment) WhichSegment() case_MetadataMatcher_PathSegment_Segment

type MetadataMatcher_PathSegment_Key

type MetadataMatcher_PathSegment_Key struct {
	// If specified, use the key to retrieve the value in a Struct.
	Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}

type MetadataMatcher_PathSegment_builder

type MetadataMatcher_PathSegment_builder struct {

	// Fields of oneof Segment:
	// If specified, use the key to retrieve the value in a Struct.
	Key *string
	// contains filtered or unexported fields
}

func (MetadataMatcher_PathSegment_builder) Build

type MetadataMatcher_builder

type MetadataMatcher_builder struct {

	// The filter name to retrieve the Struct from the Metadata.
	Filter string
	// The path to retrieve the Value from the Struct.
	Path []*MetadataMatcher_PathSegment
	// The MetadataMatcher is matched if the value retrieved by path is matched to this value.
	Value *ValueMatcher
	// contains filtered or unexported fields
}

func (MetadataMatcher_builder) Build

type NodeMatcher

type NodeMatcher struct {

	// Specifies match criteria on the node id.
	NodeId *StringMatcher `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// Specifies match criteria on the node metadata.
	NodeMetadatas []*StructMatcher `protobuf:"bytes,2,rep,name=node_metadatas,json=nodeMetadatas,proto3" json:"node_metadatas,omitempty"`
	// contains filtered or unexported fields
}

Specifies the way to match a Node. The match follows AND semantics.

func (*NodeMatcher) ClearNodeId

func (x *NodeMatcher) ClearNodeId()

func (*NodeMatcher) GetNodeId

func (x *NodeMatcher) GetNodeId() *StringMatcher

func (*NodeMatcher) GetNodeMetadatas

func (x *NodeMatcher) GetNodeMetadatas() []*StructMatcher

func (*NodeMatcher) HasNodeId

func (x *NodeMatcher) HasNodeId() bool

func (*NodeMatcher) ProtoMessage

func (*NodeMatcher) ProtoMessage()

func (*NodeMatcher) ProtoReflect

func (x *NodeMatcher) ProtoReflect() protoreflect.Message

func (*NodeMatcher) Reset

func (x *NodeMatcher) Reset()

func (*NodeMatcher) SetNodeId

func (x *NodeMatcher) SetNodeId(v *StringMatcher)

func (*NodeMatcher) SetNodeMetadatas

func (x *NodeMatcher) SetNodeMetadatas(v []*StructMatcher)

func (*NodeMatcher) String

func (x *NodeMatcher) String() string

type NodeMatcher_builder

type NodeMatcher_builder struct {

	// Specifies match criteria on the node id.
	NodeId *StringMatcher
	// Specifies match criteria on the node metadata.
	NodeMetadatas []*StructMatcher
	// contains filtered or unexported fields
}

func (NodeMatcher_builder) Build

func (b0 NodeMatcher_builder) Build() *NodeMatcher

type PathMatcher

type PathMatcher struct {

	// Types that are valid to be assigned to Rule:
	//
	//	*PathMatcher_Path
	Rule isPathMatcher_Rule `protobuf_oneof:"rule"`
	// contains filtered or unexported fields
}

Specifies the way to match a path on HTTP request.

func (*PathMatcher) ClearPath

func (x *PathMatcher) ClearPath()

func (*PathMatcher) ClearRule

func (x *PathMatcher) ClearRule()

func (*PathMatcher) GetPath

func (x *PathMatcher) GetPath() *StringMatcher

func (*PathMatcher) GetRule

func (x *PathMatcher) GetRule() isPathMatcher_Rule

func (*PathMatcher) HasPath

func (x *PathMatcher) HasPath() bool

func (*PathMatcher) HasRule

func (x *PathMatcher) HasRule() bool

func (*PathMatcher) ProtoMessage

func (*PathMatcher) ProtoMessage()

func (*PathMatcher) ProtoReflect

func (x *PathMatcher) ProtoReflect() protoreflect.Message

func (*PathMatcher) Reset

func (x *PathMatcher) Reset()

func (*PathMatcher) SetPath

func (x *PathMatcher) SetPath(v *StringMatcher)

func (*PathMatcher) String

func (x *PathMatcher) String() string

func (*PathMatcher) WhichRule

func (x *PathMatcher) WhichRule() case_PathMatcher_Rule

type PathMatcher_Path

type PathMatcher_Path struct {
	// The `path` must match the URL path portion of the :path header. The query and fragment
	// string (if present) are removed in the URL path portion.
	// For example, the path */data* will match the *:path* header */data#fragment?param=value*.
	Path *StringMatcher `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

type PathMatcher_builder

type PathMatcher_builder struct {

	// Fields of oneof Rule:
	// The `path` must match the URL path portion of the :path header. The query and fragment
	// string (if present) are removed in the URL path portion.
	// For example, the path */data* will match the *:path* header */data#fragment?param=value*.
	Path *StringMatcher
	// contains filtered or unexported fields
}

func (PathMatcher_builder) Build

func (b0 PathMatcher_builder) Build() *PathMatcher

type RegexMatchAndSubstitute

type RegexMatchAndSubstitute struct {

	// The regular expression used to find portions of a string (hereafter called
	// the "subject string") that should be replaced. When a new string is
	// produced during the substitution operation, the new string is initially
	// the same as the subject string, but then all matches in the subject string
	// are replaced by the substitution string. If replacing all matches isn't
	// desired, regular expression anchors can be used to ensure a single match,
	// so as to replace just one occurrence of a pattern. Capture groups can be
	// used in the pattern to extract portions of the subject string, and then
	// referenced in the substitution string.
	Pattern *RegexMatcher `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
	// The string that should be substituted into matching portions of the
	// subject string during a substitution operation to produce a new string.
	// Capture groups in the pattern can be referenced in the substitution
	// string. Note, however, that the syntax for referring to capture groups is
	// defined by the chosen regular expression engine. Google's `RE2
	// <https://github.com/google/re2>`_ regular expression engine uses a
	// backslash followed by the capture group number to denote a numbered
	// capture group. E.g., “\1“ refers to capture group 1, and “\2“ refers
	// to capture group 2.
	Substitution string `protobuf:"bytes,2,opt,name=substitution,proto3" json:"substitution,omitempty"`
	// contains filtered or unexported fields
}

Describes how to match a string and then produce a new string using a regular expression and a substitution string.

func (*RegexMatchAndSubstitute) ClearPattern

func (x *RegexMatchAndSubstitute) ClearPattern()

func (*RegexMatchAndSubstitute) GetPattern

func (x *RegexMatchAndSubstitute) GetPattern() *RegexMatcher

func (*RegexMatchAndSubstitute) GetSubstitution

func (x *RegexMatchAndSubstitute) GetSubstitution() string

func (*RegexMatchAndSubstitute) HasPattern

func (x *RegexMatchAndSubstitute) HasPattern() bool

func (*RegexMatchAndSubstitute) ProtoMessage

func (*RegexMatchAndSubstitute) ProtoMessage()

func (*RegexMatchAndSubstitute) ProtoReflect

func (x *RegexMatchAndSubstitute) ProtoReflect() protoreflect.Message

func (*RegexMatchAndSubstitute) Reset

func (x *RegexMatchAndSubstitute) Reset()

func (*RegexMatchAndSubstitute) SetPattern

func (x *RegexMatchAndSubstitute) SetPattern(v *RegexMatcher)

func (*RegexMatchAndSubstitute) SetSubstitution

func (x *RegexMatchAndSubstitute) SetSubstitution(v string)

func (*RegexMatchAndSubstitute) String

func (x *RegexMatchAndSubstitute) String() string

type RegexMatchAndSubstitute_builder

type RegexMatchAndSubstitute_builder struct {

	// The regular expression used to find portions of a string (hereafter called
	// the "subject string") that should be replaced. When a new string is
	// produced during the substitution operation, the new string is initially
	// the same as the subject string, but then all matches in the subject string
	// are replaced by the substitution string. If replacing all matches isn't
	// desired, regular expression anchors can be used to ensure a single match,
	// so as to replace just one occurrence of a pattern. Capture groups can be
	// used in the pattern to extract portions of the subject string, and then
	// referenced in the substitution string.
	Pattern *RegexMatcher
	// The string that should be substituted into matching portions of the
	// subject string during a substitution operation to produce a new string.
	// Capture groups in the pattern can be referenced in the substitution
	// string. Note, however, that the syntax for referring to capture groups is
	// defined by the chosen regular expression engine. Google's `RE2
	// <https://github.com/google/re2>`_ regular expression engine uses a
	// backslash followed by the capture group number to denote a numbered
	// capture group. E.g., “\1“ refers to capture group 1, and “\2“ refers
	// to capture group 2.
	Substitution string
	// contains filtered or unexported fields
}

func (RegexMatchAndSubstitute_builder) Build

type RegexMatcher

type RegexMatcher struct {

	// Types that are valid to be assigned to EngineType:
	//
	//	*RegexMatcher_GoogleRe2
	EngineType isRegexMatcher_EngineType `protobuf_oneof:"engine_type"`
	// The regex match string. The string must be supported by the configured engine.
	Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"`
	// contains filtered or unexported fields
}

A regex matcher designed for safety when used with untrusted input.

func (*RegexMatcher) ClearEngineType

func (x *RegexMatcher) ClearEngineType()

func (*RegexMatcher) ClearGoogleRe2

func (x *RegexMatcher) ClearGoogleRe2()

func (*RegexMatcher) GetEngineType

func (x *RegexMatcher) GetEngineType() isRegexMatcher_EngineType

func (*RegexMatcher) GetGoogleRe2

func (x *RegexMatcher) GetGoogleRe2() *RegexMatcher_GoogleRE2

func (*RegexMatcher) GetRegex

func (x *RegexMatcher) GetRegex() string

func (*RegexMatcher) HasEngineType

func (x *RegexMatcher) HasEngineType() bool

func (*RegexMatcher) HasGoogleRe2

func (x *RegexMatcher) HasGoogleRe2() bool

func (*RegexMatcher) ProtoMessage

func (*RegexMatcher) ProtoMessage()

func (*RegexMatcher) ProtoReflect

func (x *RegexMatcher) ProtoReflect() protoreflect.Message

func (*RegexMatcher) Reset

func (x *RegexMatcher) Reset()

func (*RegexMatcher) SetGoogleRe2

func (x *RegexMatcher) SetGoogleRe2(v *RegexMatcher_GoogleRE2)

func (*RegexMatcher) SetRegex

func (x *RegexMatcher) SetRegex(v string)

func (*RegexMatcher) String

func (x *RegexMatcher) String() string

func (*RegexMatcher) WhichEngineType

func (x *RegexMatcher) WhichEngineType() case_RegexMatcher_EngineType

type RegexMatcher_GoogleRE2

type RegexMatcher_GoogleRE2 struct {

	// This field controls the RE2 "program size" which is a rough estimate of how complex a
	// compiled regex is to evaluate. A regex that has a program size greater than the configured
	// value will fail to compile. In this case, the configured max program size can be increased
	// or the regex can be simplified. If not specified, the default is 100.
	//
	// This field is deprecated; regexp validation should be performed on the management server
	// instead of being done by each individual client.
	//
	// Deprecated: Marked as deprecated in envoy/type/matcher/regex.proto.
	MaxProgramSize *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=max_program_size,json=maxProgramSize,proto3" json:"max_program_size,omitempty"`
	// contains filtered or unexported fields
}

Google's `RE2 <https://github.com/google/re2>`_ regex engine. The regex string must adhere to the documented `syntax <https://github.com/google/re2/wiki/Syntax>`_. The engine is designed to complete execution in linear time as well as limit the amount of memory used.

Envoy supports program size checking via runtime. The runtime keys “re2.max_program_size.error_level“ and “re2.max_program_size.warn_level“ can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. “re2.max_program_size.error_level“ defaults to 100, and “re2.max_program_size.warn_level“ has no default if unset (will not check/log a warning).

Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented each time the program size exceeds the warn level threshold.

func (*RegexMatcher_GoogleRE2) ClearMaxProgramSize deprecated

func (x *RegexMatcher_GoogleRE2) ClearMaxProgramSize()

Deprecated: Marked as deprecated in envoy/type/matcher/regex.proto.

func (*RegexMatcher_GoogleRE2) GetMaxProgramSize deprecated

func (x *RegexMatcher_GoogleRE2) GetMaxProgramSize() *wrapperspb.UInt32Value

Deprecated: Marked as deprecated in envoy/type/matcher/regex.proto.

func (*RegexMatcher_GoogleRE2) HasMaxProgramSize deprecated

func (x *RegexMatcher_GoogleRE2) HasMaxProgramSize() bool

Deprecated: Marked as deprecated in envoy/type/matcher/regex.proto.

func (*RegexMatcher_GoogleRE2) ProtoMessage

func (*RegexMatcher_GoogleRE2) ProtoMessage()

func (*RegexMatcher_GoogleRE2) ProtoReflect

func (x *RegexMatcher_GoogleRE2) ProtoReflect() protoreflect.Message

func (*RegexMatcher_GoogleRE2) Reset

func (x *RegexMatcher_GoogleRE2) Reset()

func (*RegexMatcher_GoogleRE2) SetMaxProgramSize deprecated

func (x *RegexMatcher_GoogleRE2) SetMaxProgramSize(v *wrapperspb.UInt32Value)

Deprecated: Marked as deprecated in envoy/type/matcher/regex.proto.

func (*RegexMatcher_GoogleRE2) String

func (x *RegexMatcher_GoogleRE2) String() string

type RegexMatcher_GoogleRE2_builder

type RegexMatcher_GoogleRE2_builder struct {

	// This field controls the RE2 "program size" which is a rough estimate of how complex a
	// compiled regex is to evaluate. A regex that has a program size greater than the configured
	// value will fail to compile. In this case, the configured max program size can be increased
	// or the regex can be simplified. If not specified, the default is 100.
	//
	// This field is deprecated; regexp validation should be performed on the management server
	// instead of being done by each individual client.
	//
	// Deprecated: Marked as deprecated in envoy/type/matcher/regex.proto.
	MaxProgramSize *wrapperspb.UInt32Value
	// contains filtered or unexported fields
}

func (RegexMatcher_GoogleRE2_builder) Build

type RegexMatcher_GoogleRe2

type RegexMatcher_GoogleRe2 struct {
	// Google's RE2 regex engine.
	GoogleRe2 *RegexMatcher_GoogleRE2 `protobuf:"bytes,1,opt,name=google_re2,json=googleRe2,proto3,oneof"`
}

type RegexMatcher_builder

type RegexMatcher_builder struct {

	// Fields of oneof EngineType:
	// Google's RE2 regex engine.
	GoogleRe2 *RegexMatcher_GoogleRE2
	// -- end of EngineType
	// The regex match string. The string must be supported by the configured engine.
	Regex string
	// contains filtered or unexported fields
}

func (RegexMatcher_builder) Build

func (b0 RegexMatcher_builder) Build() *RegexMatcher

type StringMatcher

type StringMatcher struct {

	// Types that are valid to be assigned to MatchPattern:
	//
	//	*StringMatcher_Exact
	//	*StringMatcher_Prefix
	//	*StringMatcher_Suffix
	//	*StringMatcher_Regex
	//	*StringMatcher_SafeRegex
	MatchPattern isStringMatcher_MatchPattern `protobuf_oneof:"match_pattern"`
	// If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no
	// effect for the safe_regex match.
	// For example, the matcher *data* will match both input string *Data* and *data* if set to true.
	IgnoreCase bool `protobuf:"varint,6,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"`
	// contains filtered or unexported fields
}

Specifies the way to match a string. [#next-free-field: 7]

func (*StringMatcher) ClearExact

func (x *StringMatcher) ClearExact()

func (*StringMatcher) ClearMatchPattern

func (x *StringMatcher) ClearMatchPattern()

func (*StringMatcher) ClearPrefix

func (x *StringMatcher) ClearPrefix()

func (*StringMatcher) ClearRegex deprecated

func (x *StringMatcher) ClearRegex()

Deprecated: Marked as deprecated in envoy/type/matcher/string.proto.

func (*StringMatcher) ClearSafeRegex

func (x *StringMatcher) ClearSafeRegex()

func (*StringMatcher) ClearSuffix

func (x *StringMatcher) ClearSuffix()

func (*StringMatcher) GetExact

func (x *StringMatcher) GetExact() string

func (*StringMatcher) GetIgnoreCase

func (x *StringMatcher) GetIgnoreCase() bool

func (*StringMatcher) GetMatchPattern

func (x *StringMatcher) GetMatchPattern() isStringMatcher_MatchPattern

func (*StringMatcher) GetPrefix

func (x *StringMatcher) GetPrefix() string

func (*StringMatcher) GetRegex deprecated

func (x *StringMatcher) GetRegex() string

Deprecated: Marked as deprecated in envoy/type/matcher/string.proto.

func (*StringMatcher) GetSafeRegex

func (x *StringMatcher) GetSafeRegex() *RegexMatcher

func (*StringMatcher) GetSuffix

func (x *StringMatcher) GetSuffix() string

func (*StringMatcher) HasExact

func (x *StringMatcher) HasExact() bool

func (*StringMatcher) HasMatchPattern

func (x *StringMatcher) HasMatchPattern() bool

func (*StringMatcher) HasPrefix

func (x *StringMatcher) HasPrefix() bool

func (*StringMatcher) HasRegex deprecated

func (x *StringMatcher) HasRegex() bool

Deprecated: Marked as deprecated in envoy/type/matcher/string.proto.

func (*StringMatcher) HasSafeRegex

func (x *StringMatcher) HasSafeRegex() bool

func (*StringMatcher) HasSuffix

func (x *StringMatcher) HasSuffix() bool

func (*StringMatcher) ProtoMessage

func (*StringMatcher) ProtoMessage()

func (*StringMatcher) ProtoReflect

func (x *StringMatcher) ProtoReflect() protoreflect.Message

func (*StringMatcher) Reset

func (x *StringMatcher) Reset()

func (*StringMatcher) SetExact

func (x *StringMatcher) SetExact(v string)

func (*StringMatcher) SetIgnoreCase

func (x *StringMatcher) SetIgnoreCase(v bool)

func (*StringMatcher) SetPrefix

func (x *StringMatcher) SetPrefix(v string)

func (*StringMatcher) SetRegex deprecated

func (x *StringMatcher) SetRegex(v string)

Deprecated: Marked as deprecated in envoy/type/matcher/string.proto.

func (*StringMatcher) SetSafeRegex

func (x *StringMatcher) SetSafeRegex(v *RegexMatcher)

func (*StringMatcher) SetSuffix

func (x *StringMatcher) SetSuffix(v string)

func (*StringMatcher) String

func (x *StringMatcher) String() string

func (*StringMatcher) WhichMatchPattern

func (x *StringMatcher) WhichMatchPattern() case_StringMatcher_MatchPattern

type StringMatcher_Exact

type StringMatcher_Exact struct {
	// The input string must match exactly the string specified here.
	//
	// Examples:
	//
	// * *abc* only matches the value *abc*.
	Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
}

type StringMatcher_Prefix

type StringMatcher_Prefix struct {
	// The input string must have the prefix specified here.
	// Note: empty prefix is not allowed, please use regex instead.
	//
	// Examples:
	//
	// * *abc* matches the value *abc.xyz*
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
}

type StringMatcher_Regex

type StringMatcher_Regex struct {
	// The input string must match the regular expression specified here.
	// The regex grammar is defined `here
	// <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
	//
	// Examples:
	//
	// * The regex “\d{3}“ matches the value *123*
	// * The regex “\d{3}“ does not match the value *1234*
	// * The regex “\d{3}“ does not match the value *123.456*
	//
	// .. attention::
	//
	//	This field has been deprecated in favor of `safe_regex` as it is not safe for use with
	//	untrusted input in all cases.
	//
	// Deprecated: Marked as deprecated in envoy/type/matcher/string.proto.
	Regex string `protobuf:"bytes,4,opt,name=regex,proto3,oneof"`
}

type StringMatcher_SafeRegex

type StringMatcher_SafeRegex struct {
	// The input string must match the regular expression specified here.
	SafeRegex *RegexMatcher `protobuf:"bytes,5,opt,name=safe_regex,json=safeRegex,proto3,oneof"`
}

type StringMatcher_Suffix

type StringMatcher_Suffix struct {
	// The input string must have the suffix specified here.
	// Note: empty prefix is not allowed, please use regex instead.
	//
	// Examples:
	//
	// * *abc* matches the value *xyz.abc*
	Suffix string `protobuf:"bytes,3,opt,name=suffix,proto3,oneof"`
}

type StringMatcher_builder

type StringMatcher_builder struct {

	// Fields of oneof MatchPattern:
	// The input string must match exactly the string specified here.
	//
	// Examples:
	//
	// * *abc* only matches the value *abc*.
	Exact *string
	// The input string must have the prefix specified here.
	// Note: empty prefix is not allowed, please use regex instead.
	//
	// Examples:
	//
	// * *abc* matches the value *abc.xyz*
	Prefix *string
	// The input string must have the suffix specified here.
	// Note: empty prefix is not allowed, please use regex instead.
	//
	// Examples:
	//
	// * *abc* matches the value *xyz.abc*
	Suffix *string
	// The input string must match the regular expression specified here.
	// The regex grammar is defined `here
	// <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
	//
	// Examples:
	//
	// * The regex “\d{3}“ matches the value *123*
	// * The regex “\d{3}“ does not match the value *1234*
	// * The regex “\d{3}“ does not match the value *123.456*
	//
	// .. attention::
	//
	//	This field has been deprecated in favor of `safe_regex` as it is not safe for use with
	//	untrusted input in all cases.
	//
	// Deprecated: Marked as deprecated in envoy/type/matcher/string.proto.
	Regex *string
	// The input string must match the regular expression specified here.
	SafeRegex *RegexMatcher
	// -- end of MatchPattern
	// If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no
	// effect for the safe_regex match.
	// For example, the matcher *data* will match both input string *Data* and *data* if set to true.
	IgnoreCase bool
	// contains filtered or unexported fields
}

func (StringMatcher_builder) Build

type StructMatcher

type StructMatcher struct {

	// The path to retrieve the Value from the Struct.
	Path []*StructMatcher_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
	// The StructMatcher is matched if the value retrieved by path is matched to this value.
	Value *ValueMatcher `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

StructMatcher provides a general interface to check if a given value is matched in google.protobuf.Struct. It uses `path` to retrieve the value from the struct and then check if it's matched to the specified value.

For example, for the following Struct:

.. code-block:: yaml

fields:
  a:
    struct_value:
      fields:
        b:
          struct_value:
            fields:
              c:
                string_value: pro
        t:
          list_value:
            values:
              - string_value: m
              - string_value: n

The following MetadataMatcher is matched as the path [a, b, c] will retrieve a string value "pro" from the Metadata which is matched to the specified prefix match.

.. code-block:: yaml

path:
- key: a
- key: b
- key: c
value:
  string_match:
    prefix: pr

The following StructMatcher is matched as the code will match one of the string values in the list at the path [a, t].

.. code-block:: yaml

path:
- key: a
- key: t
value:
  list_match:
    one_of:
      string_match:
        exact: m

An example use of StructMatcher is to match metadata in envoy.v*.core.Node.

func (*StructMatcher) ClearValue

func (x *StructMatcher) ClearValue()

func (*StructMatcher) GetPath

func (x *StructMatcher) GetPath() []*StructMatcher_PathSegment

func (*StructMatcher) GetValue

func (x *StructMatcher) GetValue() *ValueMatcher

func (*StructMatcher) HasValue

func (x *StructMatcher) HasValue() bool

func (*StructMatcher) ProtoMessage

func (*StructMatcher) ProtoMessage()

func (*StructMatcher) ProtoReflect

func (x *StructMatcher) ProtoReflect() protoreflect.Message

func (*StructMatcher) Reset

func (x *StructMatcher) Reset()

func (*StructMatcher) SetPath

func (x *StructMatcher) SetPath(v []*StructMatcher_PathSegment)

func (*StructMatcher) SetValue

func (x *StructMatcher) SetValue(v *ValueMatcher)

func (*StructMatcher) String

func (x *StructMatcher) String() string

type StructMatcher_PathSegment

type StructMatcher_PathSegment struct {

	// Types that are valid to be assigned to Segment:
	//
	//	*StructMatcher_PathSegment_Key
	Segment isStructMatcher_PathSegment_Segment `protobuf_oneof:"segment"`
	// contains filtered or unexported fields
}

Specifies the segment in a path to retrieve value from Struct.

func (*StructMatcher_PathSegment) ClearKey

func (x *StructMatcher_PathSegment) ClearKey()

func (*StructMatcher_PathSegment) ClearSegment

func (x *StructMatcher_PathSegment) ClearSegment()

func (*StructMatcher_PathSegment) GetKey

func (x *StructMatcher_PathSegment) GetKey() string

func (*StructMatcher_PathSegment) GetSegment

func (x *StructMatcher_PathSegment) GetSegment() isStructMatcher_PathSegment_Segment

func (*StructMatcher_PathSegment) HasKey

func (x *StructMatcher_PathSegment) HasKey() bool

func (*StructMatcher_PathSegment) HasSegment

func (x *StructMatcher_PathSegment) HasSegment() bool

func (*StructMatcher_PathSegment) ProtoMessage

func (*StructMatcher_PathSegment) ProtoMessage()

func (*StructMatcher_PathSegment) ProtoReflect

func (*StructMatcher_PathSegment) Reset

func (x *StructMatcher_PathSegment) Reset()

func (*StructMatcher_PathSegment) SetKey

func (x *StructMatcher_PathSegment) SetKey(v string)

func (*StructMatcher_PathSegment) String

func (x *StructMatcher_PathSegment) String() string

func (*StructMatcher_PathSegment) WhichSegment

func (x *StructMatcher_PathSegment) WhichSegment() case_StructMatcher_PathSegment_Segment

type StructMatcher_PathSegment_Key

type StructMatcher_PathSegment_Key struct {
	// If specified, use the key to retrieve the value in a Struct.
	Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}

type StructMatcher_PathSegment_builder

type StructMatcher_PathSegment_builder struct {

	// Fields of oneof Segment:
	// If specified, use the key to retrieve the value in a Struct.
	Key *string
	// contains filtered or unexported fields
}

func (StructMatcher_PathSegment_builder) Build

type StructMatcher_builder

type StructMatcher_builder struct {

	// The path to retrieve the Value from the Struct.
	Path []*StructMatcher_PathSegment
	// The StructMatcher is matched if the value retrieved by path is matched to this value.
	Value *ValueMatcher
	// contains filtered or unexported fields
}

func (StructMatcher_builder) Build

type ValueMatcher

type ValueMatcher struct {

	// Specifies how to match a value.
	//
	// Types that are valid to be assigned to MatchPattern:
	//
	//	*ValueMatcher_NullMatch_
	//	*ValueMatcher_DoubleMatch
	//	*ValueMatcher_StringMatch
	//	*ValueMatcher_BoolMatch
	//	*ValueMatcher_PresentMatch
	//	*ValueMatcher_ListMatch
	MatchPattern isValueMatcher_MatchPattern `protobuf_oneof:"match_pattern"`
	// contains filtered or unexported fields
}

Specifies the way to match a Protobuf::Value. Primitive values and ListValue are supported. StructValue is not supported and is always not matched. [#next-free-field: 7]

func (*ValueMatcher) ClearBoolMatch

func (x *ValueMatcher) ClearBoolMatch()

func (*ValueMatcher) ClearDoubleMatch

func (x *ValueMatcher) ClearDoubleMatch()

func (*ValueMatcher) ClearListMatch

func (x *ValueMatcher) ClearListMatch()

func (*ValueMatcher) ClearMatchPattern

func (x *ValueMatcher) ClearMatchPattern()

func (*ValueMatcher) ClearNullMatch

func (x *ValueMatcher) ClearNullMatch()

func (*ValueMatcher) ClearPresentMatch

func (x *ValueMatcher) ClearPresentMatch()

func (*ValueMatcher) ClearStringMatch

func (x *ValueMatcher) ClearStringMatch()

func (*ValueMatcher) GetBoolMatch

func (x *ValueMatcher) GetBoolMatch() bool

func (*ValueMatcher) GetDoubleMatch

func (x *ValueMatcher) GetDoubleMatch() *DoubleMatcher

func (*ValueMatcher) GetListMatch

func (x *ValueMatcher) GetListMatch() *ListMatcher

func (*ValueMatcher) GetMatchPattern

func (x *ValueMatcher) GetMatchPattern() isValueMatcher_MatchPattern

func (*ValueMatcher) GetNullMatch

func (x *ValueMatcher) GetNullMatch() *ValueMatcher_NullMatch

func (*ValueMatcher) GetPresentMatch

func (x *ValueMatcher) GetPresentMatch() bool

func (*ValueMatcher) GetStringMatch

func (x *ValueMatcher) GetStringMatch() *StringMatcher

func (*ValueMatcher) HasBoolMatch

func (x *ValueMatcher) HasBoolMatch() bool

func (*ValueMatcher) HasDoubleMatch

func (x *ValueMatcher) HasDoubleMatch() bool

func (*ValueMatcher) HasListMatch

func (x *ValueMatcher) HasListMatch() bool

func (*ValueMatcher) HasMatchPattern

func (x *ValueMatcher) HasMatchPattern() bool

func (*ValueMatcher) HasNullMatch

func (x *ValueMatcher) HasNullMatch() bool

func (*ValueMatcher) HasPresentMatch

func (x *ValueMatcher) HasPresentMatch() bool

func (*ValueMatcher) HasStringMatch

func (x *ValueMatcher) HasStringMatch() bool

func (*ValueMatcher) ProtoMessage

func (*ValueMatcher) ProtoMessage()

func (*ValueMatcher) ProtoReflect

func (x *ValueMatcher) ProtoReflect() protoreflect.Message

func (*ValueMatcher) Reset

func (x *ValueMatcher) Reset()

func (*ValueMatcher) SetBoolMatch

func (x *ValueMatcher) SetBoolMatch(v bool)

func (*ValueMatcher) SetDoubleMatch

func (x *ValueMatcher) SetDoubleMatch(v *DoubleMatcher)

func (*ValueMatcher) SetListMatch

func (x *ValueMatcher) SetListMatch(v *ListMatcher)

func (*ValueMatcher) SetNullMatch

func (x *ValueMatcher) SetNullMatch(v *ValueMatcher_NullMatch)

func (*ValueMatcher) SetPresentMatch

func (x *ValueMatcher) SetPresentMatch(v bool)

func (*ValueMatcher) SetStringMatch

func (x *ValueMatcher) SetStringMatch(v *StringMatcher)

func (*ValueMatcher) String

func (x *ValueMatcher) String() string

func (*ValueMatcher) WhichMatchPattern

func (x *ValueMatcher) WhichMatchPattern() case_ValueMatcher_MatchPattern

type ValueMatcher_BoolMatch

type ValueMatcher_BoolMatch struct {
	// If specified, a match occurs if and only if the target value is a bool value and is equal
	// to this field.
	BoolMatch bool `protobuf:"varint,4,opt,name=bool_match,json=boolMatch,proto3,oneof"`
}

type ValueMatcher_DoubleMatch

type ValueMatcher_DoubleMatch struct {
	// If specified, a match occurs if and only if the target value is a double value and is
	// matched to this field.
	DoubleMatch *DoubleMatcher `protobuf:"bytes,2,opt,name=double_match,json=doubleMatch,proto3,oneof"`
}

type ValueMatcher_ListMatch

type ValueMatcher_ListMatch struct {
	// If specified, a match occurs if and only if the target value is a list value and
	// is matched to this field.
	ListMatch *ListMatcher `protobuf:"bytes,6,opt,name=list_match,json=listMatch,proto3,oneof"`
}

type ValueMatcher_NullMatch

type ValueMatcher_NullMatch struct {
	// contains filtered or unexported fields
}

NullMatch is an empty message to specify a null value.

func (*ValueMatcher_NullMatch) ProtoMessage

func (*ValueMatcher_NullMatch) ProtoMessage()

func (*ValueMatcher_NullMatch) ProtoReflect

func (x *ValueMatcher_NullMatch) ProtoReflect() protoreflect.Message

func (*ValueMatcher_NullMatch) Reset

func (x *ValueMatcher_NullMatch) Reset()

func (*ValueMatcher_NullMatch) String

func (x *ValueMatcher_NullMatch) String() string

type ValueMatcher_NullMatch_

type ValueMatcher_NullMatch_ struct {
	// If specified, a match occurs if and only if the target value is a NullValue.
	NullMatch *ValueMatcher_NullMatch `protobuf:"bytes,1,opt,name=null_match,json=nullMatch,proto3,oneof"`
}

type ValueMatcher_NullMatch_builder

type ValueMatcher_NullMatch_builder struct {
	// contains filtered or unexported fields
}

func (ValueMatcher_NullMatch_builder) Build

type ValueMatcher_PresentMatch

type ValueMatcher_PresentMatch struct {
	// If specified, value match will be performed based on whether the path is referring to a
	// valid primitive value in the metadata. If the path is referring to a non-primitive value,
	// the result is always not matched.
	PresentMatch bool `protobuf:"varint,5,opt,name=present_match,json=presentMatch,proto3,oneof"`
}

type ValueMatcher_StringMatch

type ValueMatcher_StringMatch struct {
	// If specified, a match occurs if and only if the target value is a string value and is
	// matched to this field.
	StringMatch *StringMatcher `protobuf:"bytes,3,opt,name=string_match,json=stringMatch,proto3,oneof"`
}

type ValueMatcher_builder

type ValueMatcher_builder struct {

	// Fields of oneof MatchPattern:
	// If specified, a match occurs if and only if the target value is a NullValue.
	NullMatch *ValueMatcher_NullMatch
	// If specified, a match occurs if and only if the target value is a double value and is
	// matched to this field.
	DoubleMatch *DoubleMatcher
	// If specified, a match occurs if and only if the target value is a string value and is
	// matched to this field.
	StringMatch *StringMatcher
	// If specified, a match occurs if and only if the target value is a bool value and is equal
	// to this field.
	BoolMatch *bool
	// If specified, value match will be performed based on whether the path is referring to a
	// valid primitive value in the metadata. If the path is referring to a non-primitive value,
	// the result is always not matched.
	PresentMatch *bool
	// If specified, a match occurs if and only if the target value is a list value and
	// is matched to this field.
	ListMatch *ListMatcher
	// contains filtered or unexported fields
}

func (ValueMatcher_builder) Build

func (b0 ValueMatcher_builder) Build() *ValueMatcher

Source Files

  • metadata.pb.go
  • node.pb.go
  • number.pb.go
  • path.pb.go
  • regex.pb.go
  • string.pb.go
  • struct.pb.go
  • value.pb.go

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL