Can follow up with another PR for additional improvements later on
The routing component code still leverages the custom ART::FastRegex type on both PCRE and PCRE2. Depending on how https://github.com/crystal-lang/crystal/issues/13152 goes, can maybe look into leveraging the default Regex type, and just monkeypatch in the MARK feature. Will probably be the better solution longer term. Requires the two extra modifiers are properly supported.
If they end up being properly supported, can remove some of the hacks and leverage the regex engine more fully, e.g. in the case of the traceable url matcher.
ART::FastRegex
type on both PCRE and PCRE2. Depending on how https://github.com/crystal-lang/crystal/issues/13152 goes, can maybe look into leveraging the defaultRegex
type, and just monkeypatch in the MARK feature. Will probably be the better solution longer term. Requires the two extra modifiers are properly supported.