[#65451] [ruby-trunk - Feature #10333] [PATCH 3/1] optimize: "yoda literal" == string — ko1@...

Issue #10333 has been updated by Koichi Sasada.

9 messages 2014/10/07

[ruby-core:66033] [ruby-trunk - Bug #8352] uri squeezes a sequence of slashes in merging paths when it shouldn't

From: naruse@...
Date: 2014-10-31 10:05:00 UTC
List: ruby-core #66033
Issue #8352 has been updated by Yui NARUSE.

Description updated

----------------------------------------
Bug #8352: uri squeezes a sequence of slashes in merging paths when it shouldn't
https://bugs.ruby-lang.org/issues/8352#change-49752

* Author: Akinori MUSHA
* Status: Open
* Priority: Normal
* Assignee: akira yamada
* Category: lib
* Target version: 
* ruby -v: ruby 2.1.0dev (2013-05-01 trunk 40540) [x86_64-freebsd9]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
----------------------------------------
RFC 2896 (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/')+'.'
=> #<URI::HTTP:0x0000080303d2b0 URL: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/

In This Thread