Is it a bug of URI lib?

I use the URI.merge method, and I met something incorrect. It is a bug of
URI lib?

For example:

require 'uri'

site_url = 'http://www.try.com/test.aspx'
cur_url ='?page=2'

site=URI.parse(site_url)

cur=URI.parse(cur_url)

p farther.merge(cur)

The result:

#<URI::HTTP:0x15bc060 URL:http://www.try.com/?page=2<http://www.try.com/?page=2>

But what I want is:

*http://www.try.com/test.aspx?page=2*

So I think this is a bug,because the ?page=2 is legal relative url in html.

nan wu wrote:

I use the URI.merge method, and I met something incorrect. It is a bug of
URI lib?

For example:

require 'uri'

site_url = 'http://www.try.com/test.aspx'
cur_url ='?page=2'

site=URI.parse(site_url)

cur=URI.parse(cur_url)

p farther.merge(cur)

The result:

#<URI::HTTP:0x15bc060 URL:http://www.try.com/?page=2<http://www.try.com/?page=2>

But what I want is:

*http://www.try.com/test.aspx?page=2*

So I think this is a bug,because the ?page=2 is legal relative url in html.

It's legal under RFC 3986, but not under RFC 2396, as far as I know. The URI library is written to conform to the latter. There was a suggestion a little while ago to update it, but I don't know that anything came of it. If I had the time I'd do it myself, but I'm under the gun at the moment.

···

--
Alex

Maybe I should report it to the Akira Yamada the original author of URI lib.
The URI lib should be updated since we will meet many cases like that with
RFC 3986.

I have checked the source codes of URI lib. I found it completely follow the
RFC 2396.

···

2007/7/30, Alex Young <alex@blackkettle.org>:

nan wu wrote:
> I use the URI.merge method, and I met something incorrect. It is a bug
of
> URI lib?
>
> For example:
>
> require 'uri'
>
> site_url = 'http://www.try.com/test.aspx'
> cur_url ='?page=2'
>
> site=URI.parse(site_url)
>
> cur=URI.parse(cur_url)
>
> p farther.merge(cur)
>
> The result:
>
> #<URI::HTTP:0x15bc060 URL:http://www.try.com/?page=2<
http://www.try.com/?page=2>
>
> But what I want is:
>
> *http://www.try.com/test.aspx?page=2*
>
> So I think this is a bug,because the ?page=2 is legal relative url in
html.
>
It's legal under RFC 3986, but not under RFC 2396, as far as I know.
The URI library is written to conform to the latter. There was a
suggestion a little while ago to update it, but I don't know that
anything came of it. If I had the time I'd do it myself, but I'm under
the gun at the moment.

--
Alex