Match a concrete uri against an RFC 6570-style template containing
{var} placeholders (each capturing a non-empty run up to the next literal).
On success, fills params with the captured values and returns true.
Captured values are percent-decoded per RFC 3986 (RFC 6570 expansion
percent-encodes reserved characters during URI construction, so the reverse
is required to recover the original variable value); a URI carrying a
malformed percent escape does not match. A single leading RFC 6570 operator
(+, #, ., /, ;, ?, &) on a placeholder is recognised and
stripped, so {+path} binds the variable path.
Match a concrete uri against an RFC 6570-style template containing {var} placeholders (each capturing a non-empty run up to the next literal). On success, fills params with the captured values and returns true.
Captured values are percent-decoded per RFC 3986 (RFC 6570 expansion percent-encodes reserved characters during URI construction, so the reverse is required to recover the original variable value); a URI carrying a malformed percent escape does not match. A single leading RFC 6570 operator (+, #, ., /, ;, ?, &) on a placeholder is recognised and stripped, so {+path} binds the variable path.