Return-Path: Delivered-To: apmail-camel-dev-archive@www.apache.org Received: (qmail 33093 invoked from network); 10 Sep 2010 10:58:03 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 10 Sep 2010 10:58:03 -0000 Received: (qmail 92101 invoked by uid 500); 10 Sep 2010 10:58:03 -0000 Delivered-To: apmail-camel-dev-archive@camel.apache.org Received: (qmail 91993 invoked by uid 500); 10 Sep 2010 10:58:02 -0000 Mailing-List: contact dev-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list dev@camel.apache.org Received: (qmail 91985 invoked by uid 500); 10 Sep 2010 10:58:01 -0000 Delivered-To: apmail-activemq-camel-dev@activemq.apache.org Received: (qmail 91979 invoked by uid 99); 10 Sep 2010 10:58:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Sep 2010 10:58:01 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Sep 2010 10:58:00 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o8AAveni005161 for ; Fri, 10 Sep 2010 10:57:40 GMT Message-ID: <17006083.13701284116260411.JavaMail.jira@thor> Date: Fri, 10 Sep 2010 06:57:40 -0400 (EDT) From: "Ernst Bunders (JIRA)" To: camel-dev@activemq.apache.org Subject: [jira] Updated: (CAMEL-3114) url encoding goes wrong in org.apache.camel.component.rss.RssComponent#afterConfiguration In-Reply-To: <33423784.13671284116020422.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: ae95407df07c98740808b2ef9da0087c [ https://issues.apache.org/activemq/browse/CAMEL-3114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernst Bunders updated CAMEL-3114: --------------------------------- Component/s: camel-rss > url encoding goes wrong in org.apache.camel.component.rss.RssComponent#afterConfiguration > ----------------------------------------------------------------------------------------- > > Key: CAMEL-3114 > URL: https://issues.apache.org/activemq/browse/CAMEL-3114 > 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 wrong. > consider this url: http://api.flickr.com/services/feeds/photos_public.gne?id=23353282@N05&tags=lowlands&lang=en-us&format=rss_200 > 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 java.net.URLEncoder#encode, 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: http://api.flickr.com/services/feeds/photos_public.gne?format=rss_200&id=23353282%2540N05&lang=en-us&tags=lowlands > 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 like: http://api.flickr.com/services/feeds/photos_public.gne?format=rss_200&id=23353282%2540N05&lang=en-us&tags=lowlands > 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.