From 2f698c83b6f5271f8753b69bfcd9aa3a6d532a50 Mon Sep 17 00:00:00 2001 From: Aotrix <9aotrix@protonmail.com> Date: Sat, 7 Feb 2026 23:30:06 +0100 Subject: Add a generic function to set ApiUrl parameters --- battleNetApi/src/apiUrl.cpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'battleNetApi/src/apiUrl.cpp') diff --git a/battleNetApi/src/apiUrl.cpp b/battleNetApi/src/apiUrl.cpp index 7c05720..5435fd9 100644 --- a/battleNetApi/src/apiUrl.cpp +++ b/battleNetApi/src/apiUrl.cpp @@ -10,27 +10,37 @@ void ApiUrl::setRegion(const std::string &iRegion) { } void ApiUrl::setLocale(const std::string &iLocale) { if (not iLocale.empty()) { - aParameters["locale"] = iLocale; //!< The locale to reflect in localized data, e.g. "fr_FR" or "ko_KR" - //!< If you do not supply a value, all translations are returned. + //!< The locale to reflect in localized data, e.g. "fr_FR" or "ko_KR" + //!< If you do not supply a value, all translations are returned. + const std::string kKey{"locale"}; + setValue(kKey, iLocale); } } void ApiUrl::setGameMode(const std::string &iGameMode) { if (not iGameMode.empty()) { - aParameters["gameMode"] = - iGameMode; //!< A recognized game mode, e.g. "constructed" - //!< @see https://community.developer.battle.net/documentation/hearthstone/guides/game-modes + //!< A recognized game mode, e.g. "constructed" + //!< @see https://community.developer.battle.net/documentation/hearthstone/guides/game-modes + const std::string kKey{"gameMode"}; + setValue(kKey, iGameMode); } } void ApiUrl::setPage(const std::string &iPage) { if (not iPage.empty()) { - aParameters["page"] = iPage; //!< The page to retrieve, e.g. "9" + //!< The page to retrieve, e.g. "9" + const std::string kKey{"page"}; + setValue(kKey, iPage); } } void ApiUrl::setPageSize(const std::string &iPageSize) { if (not iPageSize.empty()) { - aParameters["pageSize"] = iPageSize; //!< The number of results to choose per page, e.g. "40" + //!< The number of results to choose per page, e.g. "40" + const std::string kKey{"pageSize"}; + setValue(kKey, iPageSize); } } + +void ApiUrl::setValue(const std::string &iKey, const std::string &iValue) { aParameters[iKey] = iValue; } + std::string ApiUrl::operator()() const { std::string aFormattedParameters; for (const auto &[key, value] : aParameters) { -- cgit v1.2.3