diff options
author | dec05eba <dec05eba@protonmail.com> | 2020-11-24 19:38:07 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-11-24 19:40:37 +0100 |
commit | 3e575ac920e87c47805eb2f0a603dfbbfcbc3e9e (patch) | |
tree | 6ea7a12e20ce1a0c749ef6d4931381a89d46fc96 /src/Json.cpp | |
parent | 97e9fcb00af17d0fd1220ce2a5b4f264bf83e8cf (diff) |
Start on mastodon/pleroma
Diffstat (limited to 'src/Json.cpp')
-rw-r--r-- | src/Json.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/Json.cpp b/src/Json.cpp new file mode 100644 index 0000000..86703b2 --- /dev/null +++ b/src/Json.cpp @@ -0,0 +1,21 @@ +#include "../include/Json.hpp" + +namespace QuickMedia { + static rapidjson::Value nullValue(rapidjson::kNullType); + const rapidjson::Value& GetMember(const rapidjson::Value &obj, const char *key) { + auto it = obj.FindMember(key); + if(it != obj.MemberEnd()) + return it->value; + return nullValue; + } + + DownloadResult download_json(rapidjson::Document &result, const std::string &url, std::vector<CommandArg> additional_args, bool use_tor, bool use_browser_useragent, std::string *err_msg) { + if(download_to_json(url, result, std::move(additional_args), use_tor, use_browser_useragent, err_msg == nullptr) != DownloadResult::OK) { + // Cant get error since we parse directly to json. TODO: Make this work somehow? + if(err_msg) + *err_msg = "Failed to download/parse json"; + return DownloadResult::NET_ERR; + } + return DownloadResult::OK; + } +}
\ No newline at end of file |