Issue #13171 has been updated by Yui NARUSE. Eric Barendt wrote: > I disagree that it's correct. But it's also inconsistent with HTTP. Further, where does the "/" come from anyway? > ~~~ ruby > >> URI.parse("http://example.com").path > => "" > >> URI.parse("ftp://example.com").path > => "" > ~~~ About instance variables, ```ruby irb(main):005:0> URI.parse("ftp://example.com").instance_variable_get(:@path) => "/" irb(main):006:0> URI.parse("http://example.com").instance_variable_get(:@path) => "" ``` Maybe they should be * @path should be "" or nil * uri.path should be '/' * uri.to_s should be without trailing '/' Though such inconsistency can be acceptable because the semantics of path is much different between HTTP and FTP. ---------------------------------------- Bug #13171: URI::FTP path has a trailing slash when just hostname and scheme provided https://bugs.ruby-lang.org/issues/13171#change-62802 * Author: Milo Price * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- As with HTTP uris, the trailing slash on a FTP uri should be optional, per RFC 1738 (ftp://ftp.funet.fi/pub/doc/rfc/rfc1738.txt). However, under the current implementation, URI::FTP#to_s always has a trailing slash when only a hostname is provided (i.e., no path): ~~~ ruby URI.parse("http://example.com").to_s => "http://example.com" URI.parse("ftp://example.com").to_s => "ftp://example.com/" ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>