// X-Ray will inspect every single request and try to match it against the set of rules it has to
// routine is on the hot path. I've spent a great deal of time to make this function optimal and not
// 1- escape/lint the user input pattern to avoid messing up its meaning (think '.' character is a
// valid regex and URL character) 2- compile the regex and store it with every corresponding part of
// Those two steps would add significant overhead to the tracer. Meanwhile, the following function
if (p < pattern.size() && absl::ascii_tolower(input[i]) == absl::ascii_tolower(pattern[p])) {