diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/DownloadUtils.hpp | 6 |
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 |