Class: Google::Apis::TrafficdirectorV2::RegexMatcher

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/trafficdirector_v2/classes.rb,
generated/google/apis/trafficdirector_v2/representations.rb,
generated/google/apis/trafficdirector_v2/representations.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ RegexMatcher

Returns a new instance of RegexMatcher.



913
914
915
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 913

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#google_re2Google::Apis::TrafficdirectorV2::GoogleRe2

Google's RE2_ regex engine. The regex string must adhere to the documented 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. Corresponds to the JSON property googleRe2



906
907
908
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 906

def google_re2
  @google_re2
end

#regexString

The regex match string. The string must be supported by the configured engine. Corresponds to the JSON property regex

Returns:

  • (String)


911
912
913
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 911

def regex
  @regex
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



918
919
920
921
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 918

def update!(**args)
  @google_re2 = args[:google_re2] if args.key?(:google_re2)
  @regex = args[:regex] if args.key?(:regex)
end