[
https://issues.apache.org/jira/browse/CAMEL-4427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14254583#comment-14254583
]
Wiggins commented on CAMEL-4427:
--------------------------------
It is not possible to specify a channel named simply "#". Which is a valid
channel name according to the IRC spec and most servers allow it.
Using an endpoint url like "irc://irc.example.com/#" will just fail to join
any channels.
how to encode this valid irc channel into a URI... I'm not sure.
I can accomplish joining a channel named "#" by modifying IrcChannel.setName()
to allow a null or .isEmpty() string to become just "#".
see: https://github.com/apache/camel/pull/358
> 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
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)