@@ -27,43 +27,9 @@ size_t WriteCallback(char* ptr, size_t size, size_t nmemb, void* userdata) {
2727}
2828} // namespace
2929
30- cpp::result<void , std::string> DownloadService::VerifyDownloadTask (
31- DownloadTask& task) const noexcept {
32- CLI_LOG (" Validating download items, please wait.." );
33-
34- auto total_download_size{0 };
35- std::optional<std::string> err_msg = std::nullopt ;
36-
37- for (auto & item : task.items ) {
38- auto file_size = GetFileSize (item.downloadUrl );
39- if (file_size.has_error ()) {
40- err_msg = file_size.error ();
41- break ;
42- }
43-
44- item.bytes = file_size.value ();
45- total_download_size += file_size.value ();
46- }
47-
48- if (err_msg.has_value ()) {
49- CTL_ERR (err_msg.value ());
50- return cpp::fail (err_msg.value ());
51- }
52-
53- return {};
54- }
55-
5630cpp::result<bool , std::string> DownloadService::AddDownloadTask (
5731 DownloadTask& task,
5832 std::optional<OnDownloadTaskSuccessfully> callback) noexcept {
59- auto validating_result = VerifyDownloadTask (task);
60- if (validating_result.has_error ()) {
61- return cpp::fail (validating_result.error ());
62- }
63-
64- // all items are valid, start downloading
65- // if any item from the task failed to download, the whole task will be
66- // considered failed
6733 std::optional<std::string> dl_err_msg = std::nullopt ;
6834 bool has_task_done = false ;
6935 for (const auto & item : task.items ) {
@@ -262,7 +228,7 @@ void DownloadService::ProcessTask(DownloadTask& task) {
262228
263229 active_task_ = std::make_shared<DownloadTask>(task);
264230
265- for (auto & item : task.items ) {
231+ for (const auto & item : task.items ) {
266232 auto handle = curl_easy_init ();
267233 if (handle == nullptr ) {
268234 // skip the task
@@ -408,11 +374,6 @@ void DownloadService::ProcessCompletedTransfers() {
408374
409375cpp::result<DownloadTask, std::string> DownloadService::AddTask (
410376 DownloadTask& task, std::function<void (const DownloadTask&)> callback) {
411- auto validate_result = VerifyDownloadTask (task);
412- if (validate_result.has_error ()) {
413- return cpp::fail (validate_result.error ());
414- }
415-
416377 {
417378 std::lock_guard<std::mutex> lock (callbacks_mutex_);
418379 callbacks_[task.id ] = std::move (callback);
0 commit comments