diff options
Diffstat (limited to 'submodules/battleNetApi/src/hearthstoneApi.cpp')
| -rw-r--r-- | submodules/battleNetApi/src/hearthstoneApi.cpp | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/submodules/battleNetApi/src/hearthstoneApi.cpp b/submodules/battleNetApi/src/hearthstoneApi.cpp deleted file mode 100644 index c34e6ad..0000000 --- a/submodules/battleNetApi/src/hearthstoneApi.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include "hearthstoneApi.hpp" -#include <curl/curl.h> -#include <format> - -HearthstoneApi::HearthstoneApi(Token &&iToken) : mToken(iToken), mAuthorizationHeader(authorizationHeader()) {} - -std::uint64_t HearthstoneApi::numberOfCards(const std::string &iApiResponse) const { - const std::string aCardCountRegex{"\"cardCount\":(\\d+)"}; - return valueInJson<std::uint64_t>(iApiResponse, aCardCountRegex); -} -std::string HearthstoneApi::authorizationHeader() { return std::format("Authorization: Bearer {}", mToken.toString()); } - -size_t HearthstoneApi::curlCallbackStringOutput(void *iContent, size_t iSize, size_t iNmemb, std::string *iS) { - const size_t kNewLength = iSize * iNmemb; - try { - iS->append(static_cast<char *>(iContent), kNewLength); - } catch (std::bad_alloc &e) { - // handle memory problem - return 0; - } - return kNewLength; -} - -std::string HearthstoneApi::makeApiRequest(const std::string &iUrl) const { - CURL *curl = curl_easy_init(); - std::string request_output; - if (curl) { - curl_easy_setopt(curl, CURLOPT_URL, iUrl.c_str()); - curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); - curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curlCallbackStringOutput); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, &request_output); - struct curl_slist *chunk = nullptr; - chunk = curl_slist_append(chunk, mAuthorizationHeader.c_str()); - curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); - curl_easy_perform(curl); - curl_easy_cleanup(curl); - } - return request_output; -} |
