From: matthew@... Date: 2017-11-22T08:37:29+00:00 Subject: [ruby-core:83862] [Ruby trunk Bug#8352] URI squeezes a sequence of slashes in merging paths when it shouldn't Issue #8352 has been updated by phluid61 (Matthew Kerwin). duerst (Martin D��rst) wrote: > > Using multiple consecutive slashes in an URI is a bad idea. It definitely doesn't play nicely with dot-segment resolution, but then I wouldn't want to bear the burden of deciding how to resolve that, one way or the other. In this particular case, I think it is *incorrect* to automatically remove empty segments, but I also think it's bad to have them in the first place. What if there was a way for the programmer to explicitly invoke the current behaviour (e.g. by sending a different message), so the side-effect is expected? ---------------------------------------- Bug #8352: URI squeezes a sequence of slashes in merging paths when it shouldn't https://bugs.ruby-lang.org/issues/8352#change-67890 * Author: knu (Akinori MUSHA) * Status: Open * Priority: Normal * Assignee: akira (akira yamada) * Target version: * ruby -v: ruby 2.1.0dev (2013-05-01 trunk 40540) [x86_64-freebsd9] * Backport: ---------------------------------------- RFC 2396 (on which the library currently is based) or RFC 3986 says nothing about a sequence of slashes in the path part except for parsing rules when a URI (path) starts with two slashes. It should be perfectly valid to have a slash right after another, and there is no reason to "normalize" a sequence of slashes into a single slash, which uri actually does in merging paths: ~~~ URI.parse('http://example.com/foo//bar/')+'.' => # ~~~ Fixing this may be as easy as changing the regexp in URI::Generic#split_path from %r{/+} to %r{/}, but I wonder how the impact of incompatibility it may introduce would be. -- https://bugs.ruby-lang.org/ Unsubscribe: