From 3baa8fa322dbc8f2a2183e8ac027387c75eb9180 Mon Sep 17 00:00:00 2001 From: Aotrix <9aotrix@protonmail.com> Date: Sat, 1 Nov 2025 19:04:16 +0100 Subject: added Token class --- .../battleNetApi/include/hearthstoneApi.hpp | 42 ++++++++++++++-------- 1 file changed, 27 insertions(+), 15 deletions(-) (limited to 'subprojects/battleNetApi/include/hearthstoneApi.hpp') 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 #include -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; }; -- cgit v1.2.3