Actions
Feature #14035
closedURI module always serializes to the minimal form insted of the traditional one
Status:
Closed
Assignee:
-
Target version:
-
Description
Reproduce¶
execute URI("file:///etc/hosts").to_s
I expect¶
-
URI("file:///etc/hosts").to_s == "file:///etc/hosts"
-
URI to preserve traditional form instead converting it to the minimal one (Eg. see https://tools.ietf.org/html/rfc8089#appendix-B )
I wish¶
- URI to preserve the minimal/traditional form.
URI("file:///etc/hosts").to_s == "file:///etc/hosts"
URI("file:/etc/hosts").to_s == "file:/etc/hosts"
Instead¶
-
URI("file:///etc/hosts").to_s == "file:/etc/hosts"
-
URI("file:///etc/hosts").host == nil
Proposal for Ruby 2.4¶
Adopting the convention of an "empty host" instead of no authority when the passed string has the traditional form.
- file schema to have a blank/empty "" host
suggested in rfc3986 will fix the issue.
If the URI scheme defines a default for host, then that default
applies when the host subcomponent is undefined or when the
registered name is empty (zero length). For example, the "file" URI
scheme is defined so that no authority, an empty host, and
"localhost" all mean the end-user's machine, whereas the "http"
scheme considers a missing authority or empty host invalid.
Actions
Like0
Like0Like0Like0Like0Like0Like0