diff --git a/src/oatpp-websocket/WebSocket.cpp b/src/oatpp-websocket/WebSocket.cpp index 2d0ebd3..5db2479 100644 --- a/src/oatpp-websocket/WebSocket.cpp +++ b/src/oatpp-websocket/WebSocket.cpp @@ -388,5 +388,10 @@ void WebSocket::sendOneFrameBinary(const oatpp::String& message) const { throw std::runtime_error("[oatpp::web::protocol::websocket::WebSocket::sendOneFrameBinary()]: Unknown error while writing to socket."); } } - + +void WebSocket::sendOneFrameDto(const Void &dto, + const std::shared_ptr &objectMapper) const { + sendOneFrameText(objectMapper->writeToString(dto)); +} + }} diff --git a/src/oatpp-websocket/WebSocket.hpp b/src/oatpp-websocket/WebSocket.hpp index 16e064d..1e9b291 100644 --- a/src/oatpp-websocket/WebSocket.hpp +++ b/src/oatpp-websocket/WebSocket.hpp @@ -30,6 +30,8 @@ #include "oatpp/core/data/stream/BufferStream.hpp" #include "oatpp/core/provider/Provider.hpp" +#include "oatpp/core/data/mapping/ObjectMapper.hpp" +#include "oatpp/core/macro/component.hpp" namespace oatpp { namespace websocket { @@ -271,6 +273,13 @@ class WebSocket : public oatpp::base::Countable { * @throws - `runtime_error`. */ void sendOneFrameBinary(const oatpp::String& message) const; + + /** + * Send one-frame dto message. + * @param message - message dto. &id:oatpp::data::mapping::type::Void;. + * @throws - `runtime_error`. + */ + void sendOneFrameDto(const oatpp::data::mapping::type::Void& dto, const std::shared_ptr& objectMapper = OATPP_GET_COMPONENT(std::shared_ptr)) const; };