Browse Source

2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Don't set previousUri_ to "" on redirect.
	* src/Request.cc: redirectUri()
Tatsuhiro Tsujikawa 15 years ago
parent
commit
985bc37c00
3 changed files with 16 additions and 8 deletions
  1. 5 0
      ChangeLog
  2. 0 1
      src/Request.cc
  3. 11 7
      test/RequestTest.cc

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+2010-06-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Don't set previousUri_ to "" on redirect.
+	* src/Request.cc: redirectUri()
+
 2010-06-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Return given hostname if hostname is numeric host.

+ 0 - 1
src/Request.cc

@@ -125,7 +125,6 @@ void Request::setReferer(const std::string& uri)
 }
 
 bool Request::redirectUri(const std::string& uri) {
-  previousUri_ = A2STR::NIL;
   supportsPersistentConnection_ = true;
   ++redirectCount_;
   std::string redirectedUri;

+ 11 - 7
test/RequestTest.cc

@@ -339,7 +339,7 @@ void RequestTest::testRedirectUri() {
   // currentUri must be updated
   CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.co.jp/"),
                        req.getCurrentUri());
-  // previousUri must be "" when redirection
+  // previousUri is "" because no referer is set.
   CPPUNIT_ASSERT_EQUAL(std::string(""), req.getPreviousUri());
   CPPUNIT_ASSERT_EQUAL(std::string("http"), req.getProtocol());
   CPPUNIT_ASSERT_EQUAL(std::string("aria.rednoah.co.jp"), req.getHost());
@@ -375,18 +375,22 @@ void RequestTest::testRedirectUri2() {
   CPPUNIT_ASSERT_EQUAL(std::string(""), req.getPreviousUri());
   req.setReferer("http://aria.rednoah.com/");
   // previousUri is updated when referer is specified
-  CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com/"), req.getPreviousUri());
+  CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com/"),
+                       req.getPreviousUri());
   req.redirectUri("http://aria.rednoah.com/403.html");
 
-  // previousUri must be "" when redirection
-  CPPUNIT_ASSERT_EQUAL(std::string(""), req.getPreviousUri());
+  // previousUri must not be changed in redirection
+  CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com/"),
+                       req.getPreviousUri());
   // referer is unchagned
-  CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com/"), req.getReferer());
+  CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com/"),
+                       req.getReferer());
 
   req.redirectUri("http://aria.rednoah.com/error.html");
 
-  // previousUri must be "" when redirection
-  CPPUNIT_ASSERT_EQUAL(std::string(""), req.getPreviousUri());
+  // previousUri must not be changed in redirection
+  CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com/"),
+                       req.getPreviousUri());
 }
   
 void RequestTest::testResetUri() {