chicken-janitors
[Top][All Lists]
Advanced

[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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]