Fix #81543: parse_url omits leading slash in windows paths #7598
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
According to the RFC8089 Section 2[1]:
'path-absolute' in RFC3986 is defined as beginning with a '/' character.
There's also a requirement in RFC3986 section 3.3 [2], that
For file:///c:/ URL the authority component is present but empty,
which implies 'localhost'. Thus the 'path' component must begin
with the '/' character.
For all intents and purposes 'file:///c:/' and 'file://localhost/c:/'
URLs are equivalent, so parsing them differently is a surprising behaviour.
Other popular languages like Java or JavaScript preserve the
leading slash character as well.
This effectively reverts commit [3].
[1] https://datatracker.ietf.org/doc/html/rfc8089#section-2
[2] https://datatracker.ietf.org/doc/html/rfc3986#section-3.3
[3] 4505a61