chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-janitors] #1019: Different uri-common results for a hairy c


From: Chicken Trac
Subject: Re: [Chicken-janitors] #1019: Different uri-common results for a hairy case
Date: Mon, 24 Jun 2013 19:09:38 -0000

#1019: Different uri-common results for a hairy case
--------------------------------+-------------------------------------------
  Reporter:  mario              |       Owner:  sjamaan   
      Type:  defect             |      Status:  closed    
  Priority:  not urgent at all  |   Milestone:  someday   
 Component:  extensions         |     Version:  4.8.x     
Resolution:  invalid            |    Keywords:  uri-common
--------------------------------+-------------------------------------------

Comment(by sjamaan):

 For completeness, here's the way uri-common parses the URI in a slightly
 more human-readable form, which I think is correct:

 {{{
 full uri
 
http://example.com/:@-._~!$&;'()*+,=;:@-._~!$&'()*+,=:@-._~!$&'()*+,==?/?:@-._~!$'()*+,;=/?:@-

 scheme         http
 port           80   (implicitly derived via scheme)
 host           example.com
 path           /:@-._~!$&'()*+,=;:@-._~!$&'()*+,=:@-._~!$&'()*+,==
 query name 1   /?:@-._~!$'()* ,
 query value 1  (empty: the key is immediately followed by =;)
 query name 2   (empty: the preceding ; is immediately followed by an =
 sign)
 query value 2  /?:@-._~!$'()* ,
 query name 3   (either empty or "=")
 query value 3  (either empty or "="; this is mutually exclusive with the
 name due to the ";==" construct)
 fragment       /?:@-._~!$&'()*+,;=
 }}}

 This is when you accept the semicolon as a separator.  Otherwise the split
 would be more similar to what's quoted in the blog post.

 It could be argued whether the path should be further split up; this
 depends on whether the library supports the nonstandard matrix path
 components.  If it does, I think this would be split up trivially like so:

 {{{
 path                   /:@-._~!$&'()*+,=
 path parameter name    :@-._~!$&'()*+,
 path parameter value   :@-._~!$&'()*+,==
 }}}

 That's identical to what the blog post said, except for the trailing bit
 of the path parameter value that got chopped off due to the query string
 parsing.

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/1019#comment:2>
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]