summaryrefslogtreecommitdiff
path: root/subprojects/battleNetApi/include/hearthstoneApi.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/battleNetApi/include/hearthstoneApi.hpp')
-rw-r--r--subprojects/battleNetApi/include/hearthstoneApi.hpp42
1 files changed, 27 insertions, 15 deletions
diff --git a/subprojects/battleNetApi/include/hearthstoneApi.hpp b/subprojects/battleNetApi/include/hearthstoneApi.hpp
index f677080..fcd84c0 100644
--- a/subprojects/battleNetApi/include/hearthstoneApi.hpp
+++ b/subprojects/battleNetApi/include/hearthstoneApi.hpp
@@ -1,25 +1,37 @@
#pragma once
+#include "token.hpp"
#include <chrono>
#include <string>
-class HearthstoneAPI {
+class HearthstoneApi {
public:
- HearthstoneAPI();
- std::string get_cards(const std::string &t_card_parameters);
+ HearthstoneApi();
+ std::string getCards(const std::string &t_card_parameters);
+
+ friend class HearthstoneApiTests;
private:
- static size_t curl_callback_string_output(void *t_contents, size_t t_size, size_t t_nmemb, std::string *t_s);
- std::chrono::seconds get_current_time();
- std::string extract_string_with_regex(const std::string &t_str, const std::string t_regex);
- void write_new_token_info_to_file(const std::string &t_file_path);
- void refresh_token_if_needed();
- std::string get_valid_token();
- std::string generate_request_header();
- const std::string get_url(const std::string &t_parameters);
- const std::string get_set_of_cards_url(const std::string &t_card_parameters);
- std::string make_api_request(const char *t_url, const char *t_header);
- std::string make_api_request(const std::string &t_url, const std::string &t_header);
+ /**
+ * @brief Get a valid token to call Battle.net API
+ * @return A valid token
+ */
+ std::string getValidTokenWithApi() const;
+ static size_t curlCallbackStringOutput(void *t_contents, size_t t_size, size_t t_nmemb, std::string *t_s);
+ std::chrono::seconds getCurrentTime() const;
+ std::string extractStringWithRegex(const std::string &t_str, const std::string t_regex) const;
+ void writeTokenToFile(const std::string &iToken) const;
+ void writeNewTokenToFile() const;
+ void refreshToken();
+ std::string getValidToken();
+ std::string generateRequestHeader();
+ const std::string getUrl(const std::string &t_parameters);
+ const std::string getSetOfCardsUrl(const std::string &t_card_parameters);
+ std::string makeApiRequest(const char *t_url, const char *t_header);
+ std::string makeApiRequest(const std::string &t_url, const std::string &t_header);
- std::string m_access_token;
+ // TODO: add Token object
+ // Token mToken;
+ std::string mTokenFilePath;
+ std::string mToken;
std::string m_header;
};