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