Fix bug that file name is not logged with --conditional-get

pull/749/head
Tatsuhiro Tsujikawa 2016-09-17 17:21:42 +09:00
parent 561d49d6e5
commit a31e73d902
1 changed files with 13 additions and 0 deletions

View File

@ -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()));