-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Normalization issue with #
(%23
)
#295
Comments
No answers, but I found that $ irb -raddressable/uri
irb(main):001:0> Addressable::VERSION::STRING
=> "2.5.2"
irb(main):002:0> Addressable::URI.parse("http://example.org?foo=%E9%23").normalize.query
=> "foo=%E9#"
irb(main):003:0> Addressable::URI.parse("http://example.org?foo=%E9%23").normalize.query_values
=> {"foo"=>"\xE9#"}
irb(main):004:0> Addressable::URI.unencode("%E9%23")
=> "\xE9#" I think this issue is similar to #224 |
https://tools.ietf.org/html/rfc3986#section-2.5 applies here.
|
We should probably add a test case for |
Related to #334 |
Probably due to #114 (comment)
|
I think this is another variant of #366 where addressable incorrectly decodes the percent-encoded reserved character |
#
(%23
)
Not sure this is an actual bug:
This returns the string
foo=%E9#
. I would have expectedfoo=%E9%23
.Note that
%E9
is the escaped version of theé
character in ISO-8859-1, that isURI.escape('é'.encode('iso-8859-1'))
.Is this the intended behavior?
The text was updated successfully, but these errors were encountered: