Bug #13154
closed
URI::Generic, == operator, normalize!
Added by deman_killer (Dmitry Sk) about 7 years ago.
Updated over 2 years ago.
Description
This two URI means the same:
uri1 = URI::parse '/1/2/3'
uri2 = URI::parse 'file:///1/2/3'
but uri1 == uri2
return false
it is cause of normalize! implementation that compare scheme this way:
if scheme && scheme != scheme.downcase
set_scheme(self.scheme.downcase)
end
But nil scheme actually equivalent to file
- Tracker changed from Misc to Bug
- Description updated (diff)
- Backport set to 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
- Status changed from Open to Rejected
I agree with @phluid61 (Matthew Kerwin), plain path provided to URI.parse
should not be treated as implicit file
scheme. Such a change would break backwards compatibility for the methods mentioned, and I think URI.parse('http://foo/bar').merge(URI.parse('/1/2/3'))
should result in #<URI::HTTP http://foo/1/2/3>
and not #<URI::File file:///1/2/3>
.
If you disagree, please submit an issue to https://github.com/ruby/uri/issues and @akira (akira yamada) can decide if the behavior should be changed.
Also available in: Atom
PDF
Like0
Like0Like0Like0