# \[Bug #2373\] URI.parse $B$O(B hier-part $B$,6u$G$"$k(B URI $B$r%Q!\<%9$G$-$J$$(B

**URL:** <https://www.ruby-forum.com/t/bug-2373-uri-parse-b-o-b-hier-part-b-6u-g-k-b-uri-b-r-q-9-g-j-b/179030>\
**Category:** Development\
**Created:** [November 16, 2009, 5:25am UTC](https://www.ruby-forum.com/t/bug-2373-uri-parse-b-o-b-hier-part-b-6u-g-k-b-uri-b-r-q-9-g-j-b/179030 "2009-11-16T05:25:01Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kouhei\_Y](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/bcef8e/32.png) [@Kouhei\_Y](https://www.ruby-forum.com/u/Kouhei_Y)\
**Post date:** [November 16, 2009, 5:25am UTC](https://www.ruby-forum.com/t/bug-2373-uri-parse-b-o-b-hier-part-b-6u-g-k-b-uri-b-r-q-9-g-j-b/179030/1 "2009-11-16T05:25:01Z")

</div>

Bug #2373: URI.parse e$B$Oe(B hier-part e$B$,6u$G$"$ke(B URI  
e$B$r%Q!\<%9$G$-$J$$e(B  
[http://redmine.ruby-lang.org/issues/show/2373](http://redmine.ruby-lang.org/issues/show/2373)

e$B5/I\<\<Te(B: Kouhei Y.  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal  
e$B%+%F%4%je(B: lib  
ruby -v: ruby 1.9.2dev (2009-11-16 trunk 25792) [i686-linux]

RFC 3986 e$B$G$O!“e(Bhier-part e$B$,6u$G$”$k$h$&$Je(B URI e$B$Oe(B  
scheme e$B$K$h$C$F$O5vMF$5$l$F$$$ke(B(RFC  
3986e$B$G$O@)8B$5$l$F$$$J$$e(B)e$B$H;W$&$N$G$9$,e(B  
hier-part e$B$,6u$G$"$ke(B URI e$B$re(B URI.parse e$B$7$h$&$H$9$k$He(B  
scheme e$B$K$h$i$:$Ke(B URI::InvalidURIError e$B$K$J$j$^$9!#e(B

[http://www.ietf.org/rfc/rfc3986](http://www.ietf.org/rfc/rfc3986) [Appendix A]  
URI = scheme “:” hier-part [“?” query] [“#” fragment]

```
 hier-part = "//" authority path-abempty
             / path-absolute
             / path-rootless
             / path-empty

 path-empty = 0<pchar>

```

% ~/local/ruby-trunk/bin/ruby -v -ruri -e ‘URI.parse(“hoge:”)’  
ruby 1.9.2dev (2009-11-16 trunk 25792) [i686-linux]  
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/uri/common.rb:126:in  
`split': bad URI(absolute but no path): hoge: (URI::InvalidURIError) from /home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/uri/common.rb:174:in `parse’  
from  
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/uri/common.rb:628:in  
`parse' from -e:1:in `’
