[
https://issues.apache.org/jira/browse/CAMEL-4427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hadrian Zbarcea updated CAMEL-4427:
-----------------------------------
Description:
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. Deprecate the "username" 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.
was:
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 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.
> 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. Deprecate the "username" 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