Skip to content
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

Decode percent encodings for non-ASCII characters in iunreserved category on normalization #19

Closed
lo48576 opened this issue Apr 19, 2022 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@lo48576
Copy link
Owner

lo48576 commented Apr 19, 2022

IRIs are defined similarly to URIs in [RFC3986], but the class of unreserved characters is extended by adding the characters of the UCS (Universal Character Set, [ISO10646]) beyond U+007F, subject to the limitations given in the syntax rules below and in section 6.1.

--- RFC 3987 section 2.1. Summary of IRI Syntax

These IRIs should be normalized by decoding any percent-encoded octet sequence that corresponds to an unreserved character, as described in section 2.3 of [RFC3986].

--- RFC 3987 section 5.3.2.3. Percent-Encoding Normalization

RFC 3987 says that percent-encoded octet sequences that corresponds to unreserved characters in IRI (including non-ASCII characters in iunreserved category) should be decoded.
However, current implementation of this crate just decodes ASCII unreserved characters and does not care iunreserved characters.

@lo48576 lo48576 added the bug Something isn't working label Apr 19, 2022
@lo48576 lo48576 self-assigned this Apr 19, 2022
@lo48576
Copy link
Owner Author

lo48576 commented Apr 19, 2022

This blocks #18.

@lo48576 lo48576 changed the title Percent encode non-ASCII characters in iunreserved category on normalization Decode percent encodings for non-ASCII characters in iunreserved category on normalization Apr 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant