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

        

Reply via email to