[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1019: Different uri-common results for a hairy case
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1019: Different uri-common results for a hairy case |
Date: |
Mon, 24 Jun 2013 13:06:40 -0000 |
#1019: Different uri-common results for a hairy case
-------------------------------+--------------------------------------------
Reporter: mario | Owner: sjamaan
Type: defect | Status: new
Priority: not urgent at all | Milestone: someday
Component: extensions | Version: 4.8.x
Keywords: uri-common |
-------------------------------+--------------------------------------------
http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-
about-url-encoding shows an example of a crazy URI and its corresponding
parts after parsing. uri-common's {{{uri-reference}}} seems to parse it
differently, producing different results.
Here's the case from the aforementioned blog post:
{{{
While this is slightly nuts and
"http://example.com/:@-._~!$&'()*+,=;:@-._~!$&'()*+,=:@-._~!$&'()*+,==?/?:@-._~!$'()*+,;=/?:@-._~!$'()*+,;==#/?:@-._~!$&'()*+,;="
is a valid HTTP URL, this is the standard.
For the curious, the previous URL expands to:
Part Value
Scheme http
Host example.com
Path /:@-._~!$&'()*+,=
Path parameter name :@-._~!$&'()*+,
Path parameter value :@-._~!$&'()*+,==
Query parameter name /?:@-._~!$'()* ,;
Query parameter value /?:@-._~!$'()* ,;==
Fragment /?:@-._~!$&'()*+,;=
}}}
Here's what uri-common produces for that uri:
{{{
(uri-reference
"http://example.com/:@-._~!$&'()*+,=;:@-._~!$&'()*+,=:@-._~!$&'()*+,==?/?:@-._~!$'()*+,;=/?:@-")
#<URI-common: scheme=http port=#f host="example.com" path=(/
":@-._~!$&'()*+,=;:@-._~!$&'()*+,=:@-._~!$&'()*+,==")
query=((|/?:@-._~!$'()* ,| . #t) (|| . "/?:@-")) fragment=#f>
}}}
I'm not sure it is a bug in uri-common. Just filing this ticket because I
noticed the difference between uri-common's behavior and the results
presented by that blog post.
--
Ticket URL: <http://bugs.call-cc.org/ticket/1019>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #1019: Different uri-common results for a hairy case,
Chicken Trac <=
- Re: [Chicken-janitors] #1019: Different uri-common results for a hairy case, Chicken Trac, 2013/06/24
- Re: [Chicken-janitors] #1019: Different uri-common results for a hairy case, Chicken Trac, 2013/06/24
- Re: [Chicken-janitors] #1019: Different uri-common results for a hairy case, Chicken Trac, 2013/06/24
- Re: [Chicken-janitors] #1019: Different uri-common results for a hairy case, Chicken Trac, 2013/06/24
- Re: [Chicken-janitors] #1019: Different uri-common results for a hairy case, Chicken Trac, 2013/06/24
- Re: [Chicken-janitors] #1019: Different uri-common results for a hairy case, Chicken Trac, 2013/06/24
- Re: [Chicken-janitors] #1019: Different uri-common results for a hairy case, Chicken Trac, 2013/06/24