mirror of https://github.com/aria2/aria2
				
				
				
			2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Set _supportsPersistentConnection to true by default. * src/Request.cc * src/RequestGroup.cc * test/HttpRequestTest.cc * test/RequestTest.ccpull/1/head
							parent
							
								
									2c54667beb
								
							
						
					
					
						commit
						5ea933fed1
					
				| 
						 | 
				
			
			@ -1,3 +1,11 @@
 | 
			
		|||
2008-05-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 | 
			
		||||
 | 
			
		||||
	Set _supportsPersistentConnection to true by default.
 | 
			
		||||
	* src/Request.cc
 | 
			
		||||
	* src/RequestGroup.cc
 | 
			
		||||
	* test/HttpRequestTest.cc
 | 
			
		||||
	* test/RequestTest.cc
 | 
			
		||||
 | 
			
		||||
2008-05-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 | 
			
		||||
 | 
			
		||||
	Added timeout to socket pool. The default timeout is 15 seconds,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,7 +49,7 @@ const std::string Request::METHOD_HEAD = "HEAD";
 | 
			
		|||
 | 
			
		||||
Request::Request():
 | 
			
		||||
  port(0), tryCount(0),
 | 
			
		||||
  _supportsPersistentConnection(false),
 | 
			
		||||
  _supportsPersistentConnection(true),
 | 
			
		||||
  _keepAliveHint(false),
 | 
			
		||||
  _pipeliningHint(false),
 | 
			
		||||
  method(METHOD_GET),
 | 
			
		||||
| 
						 | 
				
			
			@ -70,7 +70,7 @@ bool Request::resetUrl() {
 | 
			
		|||
 | 
			
		||||
bool Request::redirectUrl(const std::string& url) {
 | 
			
		||||
  previousUrl = "";
 | 
			
		||||
  _supportsPersistentConnection = false;
 | 
			
		||||
  _supportsPersistentConnection = true;
 | 
			
		||||
  return parseUrl(url);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -498,14 +498,6 @@ Commands RequestGroup::createNextCommand(DownloadEngine* e, unsigned int numComm
 | 
			
		|||
	  req->setPipeliningHint(true);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(req->getProtocol() == "http" || req->getProtocol() == "https") {
 | 
			
		||||
	  // we set supportsPersistentConnection true here. When HTTP response
 | 
			
		||||
	  // is returned and it turns out that the remote server doesn't
 | 
			
		||||
	  // support persistent connection, then this value will be set to
 | 
			
		||||
	  // false.
 | 
			
		||||
	  req->supportsPersistentConnection(true);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Command* command = InitiateConnectionCommandFactory::createInitiateConnectionCommand(CUIDCounterSingletonHolder::instance()->newID(), req, this, e);
 | 
			
		||||
	ServerHostHandle sv(new ServerHost(command->getCuid(), req->getHost()));
 | 
			
		||||
	registerServerHost(sv);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -178,7 +178,7 @@ void HttpRequestTest::testCreateRequest()
 | 
			
		|||
  
 | 
			
		||||
  CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest());
 | 
			
		||||
 | 
			
		||||
  // redirection clears persistent connection falg
 | 
			
		||||
  // redirection set persistent connection flag to true
 | 
			
		||||
  request->redirectUrl("http://localhost:8080/archives/download/aria2-1.0.0.tar.bz2");
 | 
			
		||||
 | 
			
		||||
  expectedText = "GET /archives/download/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n"
 | 
			
		||||
| 
						 | 
				
			
			@ -187,8 +187,7 @@ void HttpRequestTest::testCreateRequest()
 | 
			
		|||
    "Host: localhost:8080\r\n"
 | 
			
		||||
    "Pragma: no-cache\r\n"
 | 
			
		||||
    "Cache-Control: no-cache\r\n"
 | 
			
		||||
    "Connection: close\r\n"
 | 
			
		||||
    "Range: bytes=1048576-\r\n"
 | 
			
		||||
    "Range: bytes=1048576-2097151\r\n"
 | 
			
		||||
    "\r\n";
 | 
			
		||||
 | 
			
		||||
  CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest());
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -271,13 +271,13 @@ void RequestTest::testSetUrl17()
 | 
			
		|||
 | 
			
		||||
void RequestTest::testRedirectUrl() {
 | 
			
		||||
  Request req;
 | 
			
		||||
  req.supportsPersistentConnection(true);
 | 
			
		||||
  req.supportsPersistentConnection(false);
 | 
			
		||||
  req.setUrl("http://aria.rednoah.com:8080/aria2/index.html");
 | 
			
		||||
  
 | 
			
		||||
  bool v2 = req.redirectUrl("http://aria.rednoah.co.jp/");
 | 
			
		||||
  CPPUNIT_ASSERT(v2);
 | 
			
		||||
  // persistent connection flag is set to be false after redirection
 | 
			
		||||
  CPPUNIT_ASSERT(!req.supportsPersistentConnection());
 | 
			
		||||
  // persistent connection flag is set to be true after redirection
 | 
			
		||||
  CPPUNIT_ASSERT(req.supportsPersistentConnection());
 | 
			
		||||
  // url must be the same
 | 
			
		||||
  CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com:8080/aria2/index.html"),
 | 
			
		||||
		       req.getUrl());
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue