camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <>
Subject [jira] Commented: (CAMEL-3114) url encoding goes wrong in org.apache.camel.component.rss.RssComponent#afterConfiguration
Date Wed, 15 Sep 2010 12:15:40 GMT


Claus Ibsen commented on CAMEL-3114:

Can you create a pure Java unit test which demonstrates this, then it can be included as an
unit test in the source

> url encoding goes wrong in org.apache.camel.component.rss.RssComponent#afterConfiguration
> -----------------------------------------------------------------------------------------
>                 Key: CAMEL-3114
>                 URL:
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-rss
>    Affects Versions: 2.4.0
>         Environment: jdk: Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
> platform: linux (ubuntu 10.04)
>            Reporter: Ernst Bunders
>         Attachments: test.groovy
> The method org.apache.camel.component.rss.RssComponent#afterConfiguration creates the
Url that will be used to fetch the rss feed. We find that with some url's url encoding goes
> consider this url:
> AfterConfiguration() calls org.apache.camel.util.URISupport#createRemainingURI This method
first calls org.apache.camel.util.URISupport#createQueryString, which is a method that will
iterate over a map of request parameters, escape each param name and value using,
and put them together with all the & and = stuff to form the query string.
> Then it calls org.apache.camel.util.URISupport#createURIWithQuery Which is a method that
takes a URI (the base url) and the constructed query string, and simply creates a new URI
with that, returning the toString() output from that.
> So this is what the output of this procedure looks like:
> 1 the @ sign was escaped by org.apache.camel.util.URISupport#createQueryString, creating
a query string like: id=23353282%40N05&tags=lowlands&lang=en-us&format=rss_200
(which is good)
> 2 the URI constructor then finds the % in %40 and escapes that again! creating a url

> Which predictably fails...
> I did some tests with the URI constructor, and it seems it only escapes % chars, everything
else is left alone.
> I attach a groovy script that demonstrates the problem
> regards,
> Ernst Bunders

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message