diff options
author | temomik <temomik44@gmail.com> | 2023-12-01 20:16:03 +0000 |
---|---|---|
committer | temomik <temomik44@gmail.com> | 2023-12-01 20:16:03 +0000 |
commit | 658f37f93d1a0c31c447adb3022cfd6cee4a1876 (patch) | |
tree | 66f31434af61a5b4dda9a3591d67fc528273b505 /include | |
parent | 782596206764e663b9b45401b447871f21ce62b2 (diff) |
Added ability to handle error codes from all Api requests
Diffstat (limited to 'include')
-rw-r--r-- | include/tgbot/Api.h | 2 | ||||
-rw-r--r-- | include/tgbot/TgException.h | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/include/tgbot/Api.h b/include/tgbot/Api.h index 7db68e7..6bd24e4 100644 --- a/include/tgbot/Api.h +++ b/include/tgbot/Api.h @@ -1989,7 +1989,7 @@ public: const HttpClient& _httpClient; -private: +protected: boost::property_tree::ptree sendRequest(const std::string& method, const std::vector<HttpReqArg>& args = std::vector<HttpReqArg>()) const; const std::string _token; diff --git a/include/tgbot/TgException.h b/include/tgbot/TgException.h index e80711c..0fbda93 100644 --- a/include/tgbot/TgException.h +++ b/include/tgbot/TgException.h @@ -16,7 +16,21 @@ namespace TgBot { class TGBOT_API TgException : public std::runtime_error { public: - explicit TgException(const std::string& description); + + /** + * @brief Enum of possible errors from Api requests + */ + enum class ErrorCode : size_t { + Undefined = 0, + BadRequest = 400, Unauthorized = 401, + Forbidden = 403, NotFound = 404, + Flood = 402, Internal = 500, + HtmlResponse = 100, InvalidJson = 101 + }; + + explicit TgException(const std::string& description, ErrorCode errorCode); + + const ErrorCode errorCode; }; } |