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 double "##", like [freenode non-primary channels] encoding is mandatory. 5. The userInfo part always represents the nick, which could be different than the username (the latter is optional, the nick is not). The documentation is not clear on that. 6. Deprecate the "nickname" parameter, it must be supplied in the userInfo part of the URI. 7. 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