From 01fc3204f26c39c558416e2faea9ecc2a20c13ba Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> Date: Wed, 3 Feb 2010 13:49:22 +0000 Subject: [PATCH] 2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> Remove fragment from redirected URI. * src/Request.cc * test/RequestTest.cc --- ChangeLog | 6 ++++++ src/Request.cc | 2 +- test/RequestTest.cc | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 88b4ee44..998a6749 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> + + Remove fragment from redirected URI. + * src/Request.cc + * test/RequestTest.cc + 2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> Updated po templates. diff --git a/src/Request.cc b/src/Request.cc index 80a78714..0619220c 100644 --- a/src/Request.cc +++ b/src/Request.cc @@ -141,7 +141,7 @@ bool Request::redirectUrl(const std::string& url) { } else { redirectedUrl = url; } - return parseUrl(urlencode(redirectedUrl)); + return parseUrl(urlencode(removeFragment(redirectedUrl))); } bool Request::parseUrl(const std::string& url) { diff --git a/test/RequestTest.cc b/test/RequestTest.cc index fecd33e4..26ea1f1a 100644 --- a/test/RequestTest.cc +++ b/test/RequestTest.cc @@ -363,8 +363,8 @@ void RequestTest::testRedirectUrl() { req.getCurrentUrl()); CPPUNIT_ASSERT_EQUAL((unsigned int)3, req.getRedirectCount()); - // White space in path - CPPUNIT_ASSERT(req.redirectUrl("http://example.org/white space")); + // White space in path and fragment is appended. + CPPUNIT_ASSERT(req.redirectUrl("http://example.org/white space#aria2")); CPPUNIT_ASSERT_EQUAL(std::string("http://example.org/white%20space"), req.getCurrentUrl()); }