You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I had a problem when parsing URL which mixture of UTF-8 encoded and reserved URI charactors.
Version
dart: 2.5.0
uri: 0.11.3+1
Example
username: サンプル@example.com
var uri =Uri.parse("https://example.com/users/サンプル@example.com");
print("uri: $uri");
// uri: https://example.com/users/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%[email protected]// Encoded like this automaticallyvar template =UriTemplate("/users/{+username}");
var parser =UriParser(template);
var params = parser.parse(uri);
print("params: $params");
// ParseException: /users/{+username} does not match https://example.com/users/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%[email protected]// expect: {username: %E3%82%B5%E3%83%B3%E3%83%97%E3%83%[email protected]}
I think this caused by regexp in _Compiler._compilePath method does not include % character.
For this reason, template expansion/parsing with + operator seems to have no reversibility as below.
Hi,
I had a problem when parsing URL which mixture of UTF-8 encoded and reserved URI charactors.
Version
Example
username: サンプル@example.com
I think this caused by regexp in
_Compiler._compilePath
method does not include%
character.For this reason, template expansion/parsing with
+
operator seems to have no reversibility as below.Additional: Example based on RFC6570 1.2.
Level 2
The text was updated successfully, but these errors were encountered: