2007-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

Added auto file renaming feature in http(s)/ftp download.
	* src/main.cc: Added --auto-file-renaming command-line option.
	* src/OptionHandlerFactory.cc
	* src/prefs.h: Added PREF_AUTO_FILE_RENAMING
	* src/RequestGroup.{h, cc}
	(shouldCancelDownloadForSafety): Rewritten
	(tryAutoFileRenaming): New function.
	* src/SegmentMan.{h, cc} (shouldCancelDownloadForSafety): 
Removed.
	* src/HttpResponseCommand.cc
	(executeInternal): Removed the call to RequestGroupMan::
	isSameFileBeingDownloaded()
	* src/FtpNegotiateCommand.cc
	(recvSize): Removed the call to RequestGroupMan::
	isSameFileBeingDownloaded()
	* test/RequestGroupTest.cc: New class.
This commit is contained in:
Tatsuhiro Tsujikawa
2007-08-28 15:46:49 +00:00
parent 7fb4336d5e
commit f8aab322fc
12 changed files with 97 additions and 40 deletions

View File

@@ -100,10 +100,6 @@ bool HttpResponseCommand::executeInternal()
_requestGroup->validateTotalLengthByHint(httpResponse->getEntityLength());
_requestGroup->getSegmentMan()->filename = httpResponse->determinFilename();
if(e->_requestGroupMan->isSameFileBeingDownloaded(_requestGroup)) {
throw new FatalException(EX_DUPLICATE_FILE_DOWNLOAD, _requestGroup->getFilePath().c_str());
}
if(httpResponse->isTransferEncodingSpecified()) {
return handleOtherEncoding(httpResponse);
} else {