aboutsummaryrefslogtreecommitdiff
path: root/include/DownloadUtils.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-11-19 12:23:06 +0100
committerdec05eba <dec05eba@protonmail.com>2020-11-19 12:23:06 +0100
commit9134914f6065c0b248dd1b4317dbf9b16f5f52b5 (patch)
tree730e286439bed8022cd7fd11b421310932b5a768 /include/DownloadUtils.hpp
parent9aa8c291e775083078efe93d0bc42390955ae61a (diff)
Matrix: fix duplicate tag items, cache events we dont have permission to view as well
Diffstat (limited to 'include/DownloadUtils.hpp')
-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