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_AWAIT
is 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_AWAIT
is 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!" });