diff options
Diffstat (limited to 'src/HttpResponseCommand.cc')
| -rw-r--r-- | src/HttpResponseCommand.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/HttpResponseCommand.cc b/src/HttpResponseCommand.cc index 4765f647..18972575 100644 --- a/src/HttpResponseCommand.cc +++ b/src/HttpResponseCommand.cc @@ -184,6 +184,19 @@ bool HttpResponseCommand::executeInternal() getPieceStorage()->markAllPiecesDone(); // Just set checksum verification done. ctx->setChecksumVerified(true); + + if (fe->getPath().empty()) { + // If path is empty, set default file name or file portion of + // URI. This is the file we used to get modified date. + auto& file = getRequest()->getFile(); + auto suffixPath = util::createSafePath( + getRequest()->getFile().empty() + ? Request::DEFAULT_FILE + : util::percentDecode(std::begin(file), std::end(file))); + fe->setPath(util::applyDir(getOption()->get(PREF_DIR), suffixPath)); + fe->setSuffixPath(suffixPath); + } + A2_LOG_NOTICE(fmt(MSG_DOWNLOAD_ALREADY_COMPLETED, GroupId::toHex(grp->getGID()).c_str(), grp->getFirstFilePath().c_str())); |
