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