[ 
https://issues.apache.org/jira/browse/CAMEL-4427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13101149#comment-13101149
 ] 

Hadrian Zbarcea commented on CAMEL-4427:
----------------------------------------

Per the [URI spec|http://www.ietf.org/rfc/rfc2396.txt] section 2.2, "," is a 
reserved character, so I also propose:
9. Implement either one of the following. Replace "," as a list separator with 
" " (which encoded can become a "+") so URIs would contain: 
"channels=camel+activemq+karaf" instead of "channels=camel,activemq,karaf". 
Another alternative would be to have multiple channel parametersm like: 
"irc://irc.freenode.net?channel=camel&channel=activemq&channel=karaf&etc" which 
is cleaner, yet more verbose.

Thoughts?

> Fix URI definition for camel-irc to provide valid URIs
> ------------------------------------------------------
>
>                 Key: CAMEL-4427
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4427
>             Project: Camel
>          Issue Type: Sub-task
>          Components: camel-irc
>    Affects Versions: 2.8.0
>            Reporter: Hadrian Zbarcea
>            Assignee: Hadrian Zbarcea
>             Fix For: 2.9.0
>
>
> Hash signs '#' are not quite allowed in URIs. While they do mark a URI 
> fragment, a URI cannot have more than one fragment (and hence '#' signs) and 
> URI parameters must appear before the fragment.
> The [IRC spec|http://www.irchelp.org/irchelp/rfc/rfc.html] mandates channel 
> names to start with either a '&' or a '#', both not allowed in a URI (i.e. 
> need to be escaped). I am proposing the following changes that will make 
> camel-irc URIs valid. Current URIs will still be supported but deprecated 
> until 3.0.
> The changes/clarifications are:
> 1. Current syntax is supported, yet deprecated
> 2. Current syntax with '#' symbols properly encoded is supported (i.e. a 
> channel name will be "%23camel" instead of "camel"
> 3. Make the '#' symbol optional (i.e. "channels=camel,activemq" is equivalent 
> with "channels=%23camel,%23activemq"). That makes URIs simpler, if the '#' is 
> missing camel-irc will prepend exacly one '#'.
> 4. For channels that start with '&' or double "##", like [freenode 
> non-primary channels] encoding is mandatory.
> 5. The userInfo part always represents the username, which could be different 
> than the nick. The documentation is not clear on that. By default the nick is 
> the same as the username.
> 6. Username is mandatory.
> 7. Deprecate the "username" parameter, it must be supplied in the userInfo 
> part of the URI.
> 8. IRC URIs are URLs not URNs; i.e. the scheme must be followed by "://", not 
> just ":".
> I will update the code to preProcess() camel-irc URIs to follow the rules 
> above and update the documentation.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to