aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/DownloadUtils.hpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/DownloadUtils.hpp b/include/DownloadUtils.hpp
index e1e71df..3eff519 100644
--- a/include/DownloadUtils.hpp
+++ b/include/DownloadUtils.hpp
@@ -2,6 +2,7 @@
#include <string>
#include <vector>
+#include <functional>
#include <rapidjson/fwd.h>
namespace QuickMedia {
@@ -16,8 +17,11 @@ namespace QuickMedia {
std::string value;
};
+ // Return true the return DownloadResult::OK for the download, which also saves the result in cache if |download_to_string_cache| is used
+ using DownloadErrorHandler = std::function<bool(std::string&)>;
+
DownloadResult download_to_string(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false, bool fail_on_error = true);
- DownloadResult download_to_string_cache(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false);
+ DownloadResult download_to_string_cache(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false, DownloadErrorHandler error_handler = nullptr);
DownloadResult download_to_file(const std::string &url, const std::string &destination_filepath, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false);
DownloadResult download_to_json(const std::string &url, rapidjson::Document &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false, bool fail_on_error = true);
} \ No newline at end of file