diff options
Diffstat (limited to 'subprojects/battleNetApi/src')
| -rw-r--r-- | subprojects/battleNetApi/src/apiUrl.cpp | 14 | ||||
| -rw-r--r-- | subprojects/battleNetApi/src/token.cpp | 4 |
2 files changed, 11 insertions, 7 deletions
diff --git a/subprojects/battleNetApi/src/apiUrl.cpp b/subprojects/battleNetApi/src/apiUrl.cpp index 89f7a5f..e08c8c7 100644 --- a/subprojects/battleNetApi/src/apiUrl.cpp +++ b/subprojects/battleNetApi/src/apiUrl.cpp @@ -1,11 +1,15 @@ #include "apiUrl.hpp" #include <format> -ApiUrl::ApiUrl(const std::string iContentType) : mContentType{iContentType} {} -void ApiUrl::setLocale(const std::string iLocale) { - aParameters["locale"] = iLocale; //<! fr_FR +ApiUrl::ApiUrl(const std::string &iContentType, const std::string &iRegion) + : mContentType{iContentType}, mRegion{iRegion} {} +void ApiUrl::setRegion(const std::string &iRegion) { + mRegion = iRegion; //<! eu } -void ApiUrl::setGameMode(const std::string iGameMode) { +void ApiUrl::setLocale(const std::string &iLocale) { + aParameters["locale"] = iLocale; //<! fr_FR, ko_KR +} +void ApiUrl::setGameMode(const std::string &iGameMode) { aParameters["gameMode"] = iGameMode; //<! constructed } std::string ApiUrl::operator()() { @@ -17,6 +21,6 @@ std::string ApiUrl::operator()() { aFormattedParameters[0] = '?'; } aFormattedParameters = - std::format("https://eu.api.blizzard.com/hearthstone/{}/{}", mContentType, aFormattedParameters); + std::format("https://{}.api.blizzard.com/hearthstone/{}/{}", mRegion, mContentType, aFormattedParameters); return aFormattedParameters; } diff --git a/subprojects/battleNetApi/src/token.cpp b/subprojects/battleNetApi/src/token.cpp index 6a3ef24..d3b3054 100644 --- a/subprojects/battleNetApi/src/token.cpp +++ b/subprojects/battleNetApi/src/token.cpp @@ -68,14 +68,14 @@ std::string Token::getValidTokenWithApi() const { } } - return extractFirstMatchRegex(token_info, "\"access_token\":\"(\\w+)\""); + return extractTokenWithRegex(token_info, "\"access_token\":\"(\\w+)\""); } std::chrono::seconds Token::getCurrentTime() const { return std::chrono::duration_cast<std::chrono::seconds>(std::chrono::utc_clock::now().time_since_epoch()); } -std::string Token::extractFirstMatchRegex(const std::string &iText, const std::string &iRegex) const { +std::string Token::extractTokenWithRegex(const std::string &iText, const std::string &iRegex) const { std::regex regex(iRegex); auto aMatchBegin = std::sregex_iterator(iText.begin(), iText.end(), regex); auto aMatchEnd = std::sregex_iterator(); |
