diff --git a/include/tgbot/net/HttpClient.h b/include/tgbot/net/HttpClient.h index 1f1b2a26..aa82c0dd 100644 --- a/include/tgbot/net/HttpClient.h +++ b/include/tgbot/net/HttpClient.h @@ -29,24 +29,6 @@ class TGBOT_API HttpClient { virtual std::string makeRequest(const Url& url, const std::vector& args) const = 0; std::int32_t _timeout = 25; - - /** - * @brief Get the maximum number of makeRequest() retries before giving up and throwing an exception. - */ - virtual int getRequestMaxRetries() const { - return requestMaxRetries; - } - - /** - * @brief Get the makeRequest() backoff duration between retries, in seconds. - */ - virtual int getRequestBackoff() const { - return requestBackoff; - } - -private: - int requestMaxRetries = 3; - int requestBackoff = 1; }; } diff --git a/src/Api.cpp b/src/Api.cpp index f238a70f..7bd9e64f 100644 --- a/src/Api.cpp +++ b/src/Api.cpp @@ -1,8 +1,5 @@ #include "tgbot/Api.h" -#include -#include - namespace TgBot { Api::Api(std::string token, const HttpClient& httpClient, const std::string& url) @@ -2507,36 +2504,20 @@ boost::property_tree::ptree Api::sendRequest(const std::string& method, const st url += "/"; url += method; - int requestRetryBackoff = _httpClient.getRequestBackoff(); - int retries = 0; - while (1) - { - try { - std::string serverResponse = _httpClient.makeRequest(url, args); - if (!serverResponse.compare(0, 6, "")) { - throw TgException("tgbot-cpp library have got html page instead of json response. Maybe you entered wrong bot token."); - } - - boost::property_tree::ptree result = _tgTypeParser.parseJson(serverResponse); - try { - if (result.get("ok", false)) { - return result.get_child("result"); - } else { - throw TgException(result.get("description", "")); - } - } catch (boost::property_tree::ptree_error& e) { - throw TgException("tgbot-cpp library can't parse json response. " + std::string(e.what())); - } - } catch (...) { - int max_retries = _httpClient.getRequestMaxRetries(); - if ((max_retries >= 0) && (retries == max_retries)) { - throw; - } else { - std::this_thread::sleep_for(std::chrono::seconds(requestRetryBackoff)); - retries++; - continue; - } + std::string serverResponse = _httpClient.makeRequest(url, args); + if (!serverResponse.compare(0, 6, "")) { + throw TgException("tgbot-cpp library have got html page instead of json response. Maybe you entered wrong bot token."); + } + + boost::property_tree::ptree result = _tgTypeParser.parseJson(serverResponse); + try { + if (result.get("ok", false)) { + return result.get_child("result"); + } else { + throw TgException(result.get("description", "")); } + } catch (boost::property_tree::ptree_error& e) { + throw TgException("tgbot-cpp library can't parse json response. " + std::string(e.what())); } } }