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
The following strings are not encoded in query_param. ! * () '
The code is shown below.
perl -le '
use strict;
use URI;
use URI::QueryParam;
my $domain = q{https://hoge.com};
# chr(hex(27)) is single quote
my $param = {foo => q{!*()}.chr(hex(27))};
my $uri = URI->new($domain);
$uri->query_param( %$param );
print "encoded by URI::QueryParam: ".$uri->as_string;
';
encoded by URI::QueryParam: https://hoge.com?foo=!*()'
Shouldn't it be encoded if it conforms to RFC3986?
Or is there a way to encode the above characters using query_param?
The text was updated successfully, but these errors were encountered:
I don't see anything in RFC3986 which would require those characters to be percent encoded.
The URL spec is possibly a more useful reference. The query part of a URL is not required to have the characters !, (, ), or * encoded. But when producing a query string, the spec states:
@haarg In the URL spec, I see that ' should be percent-encoded as well, for http, https, file, ws, and wss URLs (these are called special schemes by the spec):
The following strings are not encoded in query_param.
! * () '
The code is shown below.
Shouldn't it be encoded if it conforms to RFC3986?
Or is there a way to encode the above characters using query_param?
The text was updated successfully, but these errors were encountered: