beast-based connectors#
Available connectors
- blocking
 - async
 ❌
- coroutine
 
Connector implemented on top of boost::beast library. Link with banana-beast to use it.
- CMake Target
 banana-beast- Include
 #include <banana/connector/beast.hpp>- Supported platforms
 Windows, Linux, macOS
- Dependencies
 
- 
class beast_blocking#
 boost::beast-based blocking connector with exception-based error handling.
- 
beast_blocking::beast_blocking(std::string token, boost::asio::io_context &io_context, boost::asio::ssl::context &ssl_context)#
 Default constructor accepting Telegram Bot token, I/O and ssl context.
- 
beast_blocking::beast_blocking(std::string token, boost::asio::io_context &io_context, boost::asio::ssl::context &ssl_context)#
 
- Example
 #include <banana/connector/beast.hpp> banana::connector::beast_blocking connector("TG_BOT_TOKEN"); banana::api::message_t msg = banana::api::send_message(connector, { "@user", "Hello, world!" });
- 
class beast_blocking_monadic#
 boost::beast-based blocking connector with monadic error handling.
- 
beast_blocking_monadic::beast_blocking_monadic(std::string token, boost::asio::io_context &io_context, boost::asio::ssl::context &ssl_context)#
 Default constructor accepting Telegram Bot token, I/O and ssl context.
- 
beast_blocking_monadic::beast_blocking_monadic(std::string token, boost::asio::io_context &io_context, boost::asio::ssl::context &ssl_context)#
 
- Example
 #include <banana/connector/beast.hpp> banana::connector::beast_blocking_monadic connector("TG_BOT_TOKEN"); banana::expected<banana::api::message_t> msg = banana::api::send_message(connector, { "@user", "Hello, world!" });
- 
class beast_coro#
 boost::beast-based blocking connector with exception-based error handling. Available since C++20 if
BOOST_ASIO_HAS_CO_AWAITis defined byboost::asio.- 
beast_coro::beast_coro(std::string token, boost::asio::io_context &io_context, boost::asio::ssl::context &ssl_context)#
 Default constructor accepting Telegram Bot token, I/O and ssl context.
- 
beast_coro::beast_coro(std::string token, boost::asio::io_context &io_context, boost::asio::ssl::context &ssl_context)#
 
- Example
 #include <banana/connector/beast.hpp> banana::connector::beast_coro connector("TG_BOT_TOKEN"); banana::api::message_t msg = co_await banana::api::send_message(connector, { "@user", "Hello, world!" });
- 
class beast_coro_monadic#
 boost::beast-based coroutine-based connector with monadic error handling. Available since C++20 if
BOOST_ASIO_HAS_CO_AWAITis defined byboost::asio.- 
beast_coro_monadic::beast_coro_monadic(std::string token, boost::asio::io_context &io_context, boost::asio::ssl::context &ssl_context)#
 Default constructor accepting Telegram Bot token, I/O and ssl context.
- 
beast_coro_monadic::beast_coro_monadic(std::string token, boost::asio::io_context &io_context, boost::asio::ssl::context &ssl_context)#
 
- Example
 #include <banana/connector/beast.hpp> banana::connector::beast_coro_monadic connector("TG_BOT_TOKEN"); banana::expected<banana::api::message_t> msg = co_await banana::api::send_message(connector, { "@user", "Hello, world!" });