From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.9 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id ED64E1F461 for ; Sat, 18 May 2019 15:37:30 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 542EB120EE3; Sun, 19 May 2019 00:37:25 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id E4857120EC5 for ; Sun, 19 May 2019 00:37:22 +0900 (JST) Received: by filter0058p3iad2.sendgrid.net with SMTP id filter0058p3iad2-671-5CE026B3-24 2019-05-18 15:37:23.814166372 +0000 UTC m=+233929.513881487 Received: from herokuapp.com (unknown [54.167.227.248]) by ismtpd0002p1iad1.sendgrid.net (SG) with ESMTP id 982gntfSSr2qKNY8q94siw for ; Sat, 18 May 2019 15:37:23.834 +0000 (UTC) Date: Sat, 18 May 2019 15:37:23 +0000 (UTC) From: merch-redmine@jeremyevans.net Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 68196 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 15861 X-Redmine-Issue-Author: deivid X-Redmine-Sender: jeremyevans0 X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: =?us-ascii?Q?RVE3t853K5scBhbmJHUzZTFFeVC=2FZSUmHZ0Dc+26wcEi2CTgsF1oz0wTSSxGGN?= =?us-ascii?Q?BIBUL1SADdF0MSMtix8v6wocqEWz4FSdgdF6jmL?= =?us-ascii?Q?f4Ui0fGPGoMHx4V=2FLGLHC39NDGWEwsUe25mASgD?= =?us-ascii?Q?NULd7jLTpu6yTC58RKGCXjbDiM0vfuhbKfxOaSH?= =?us-ascii?Q?7tS5nGEGul2fM=2FknKmrQNA8m1MfLKUJKR+w=3D=3D?= To: ruby-core@ruby-lang.org X-ML-Name: ruby-core X-Mail-Count: 92712 Subject: [ruby-core:92712] [Ruby trunk Feature#15861] Correctly parse `file:c:/path/to/file` URIs X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #15861 has been updated by jeremyevans0 (Jeremy Evans). Looking at RFC 8089, Appendix E (`Nonstandard Syntax Variations`) states: = ``` These variations may be encountered by existing usages of the file URI scheme but are not supported by the normative syntax of Section 2. This appendix is not normative. ``` Appendix E.2 says that the following form is already supported: `file:///c:= /path/to/file`. Using that with the URI library: ```ruby URI.parse("file:///c:/path/to/file").path =3D> "/c:/path/to/file" ``` I can see where the preceding `/` may present an issue. However, I am not = sure whether we want to add support for nonstandard syntax variations to th= e `file` scheme. ---------------------------------------- Feature #15861: Correctly parse `file:c:/path/to/file` URIs https://bugs.ruby-lang.org/issues/15861#change-78070 * Author: deivid (David Rodr=EDguez) * Status: Open * Priority: Normal * Assignee: = * Target version: = ---------------------------------------- Recently ruby has getting better at parsing URIs using the "file" scheme, w= ith the addition of "URI::File". Still, some Windows edge cases are not imp= lemented, and it would be nice to have them. For example, while the [addres= sable gem](https://github.com/sporkmonger/addressable) can correct parse "f= ile:c:/path/to/file", the builtin library is not that smart yet: ``` = irb(main):001:0> URI.parse("file:c:/path/to/file").path =3D> nil irb(main):002:0> require 'addressable' =3D> true irb(main):003:0> Addressable::URI.parse("file:c:/path/to/file").path =3D> "c:/path/to/file" ``` I think this would be a matter of implementing https://tools.ietf.org/html/= rfc8089#appendix-E.2, which is not normative but it would be certainly nice= to have. -- = https://bugs.ruby-lang.org/ Unsubscribe: