summaryrefslogtreecommitdiff
path: root/src/AbstractCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-03-08 08:22:00 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-03-08 08:22:00 +0000
commitc2447e30948ec969b567eff49ac198b19d45b061 (patch)
tree99731c607dc7a3268cef9b07dcdca8f1ebd7d58d /src/AbstractCommand.cc
parent1c4e7d39d46bb45f19cc4a27820b513d11fb3651 (diff)
2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't reset URI in retry to avoid additional round trips because of redirects. * src/AbstractCommand.cc * src/OptionHandlerFactory.cc * src/prefs.cc * src/prefs.h
Diffstat (limited to 'src/AbstractCommand.cc')
-rw-r--r--src/AbstractCommand.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc
index fd0ca927..38908436 100644
--- a/src/AbstractCommand.cc
+++ b/src/AbstractCommand.cc
@@ -169,9 +169,12 @@ bool AbstractCommand::execute() {
req->getTryCount() >= _requestGroup->getMaxTries();
if(isAbort) {
onAbort();
+ req->resetUrl();
+ } else {
+ if(e->option->getAsBool(PREF_RESET_URI)) {
+ req->resetUrl();
+ }
}
- // In case where Request::getCurrentUrl() is not a valid URI.
- req->resetUrl();
if(isAbort) {
logger->info(MSG_MAX_TRY, cuid, req->getTryCount());
logger->error(MSG_DOWNLOAD_ABORTED, err, cuid, req->getUrl().c_str());