diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 2598b11..ea23266 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - version: ['9', '10', '11'] + version: ['10', '11'] env: CC: gcc-${{ matrix.version }} @@ -64,7 +64,7 @@ jobs: strategy: fail-fast: false matrix: - version: ['10', '11', '12'] + version: ['10', '11', '12', '13'] env: CC: clang-${{ matrix.version }} diff --git a/cmake/testing.cmake b/cmake/testing.cmake index 7a7314a..634aa6c 100644 --- a/cmake/testing.cmake +++ b/cmake/testing.cmake @@ -9,6 +9,7 @@ enable_testing() include_directories(include) add_executable(simple_websocket_test test/SimpleWebSocketTests.cpp) target_link_libraries(simple_websocket_test Catch2::Catch2 Poco::Net) +target_compile_options(simple_websocket_test PRIVATE -Wall -Werror -Wno-deprecated-enum-enum-conversion) include(CTest) include(Catch) catch_discover_tests(simple_websocket_test) \ No newline at end of file diff --git a/simple_websocket.hpp b/simple_websocket.hpp index 2fc0e3b..7d3aa0d 100644 --- a/simple_websocket.hpp +++ b/simple_websocket.hpp @@ -268,12 +268,19 @@ namespace SimpleWebSocket::Poco { webSocket_.close(); } - [[nodiscard]] - std::span receive(int &flags) { + [[nodiscard]] std::span receive(int &flags) { char buffer[SIZE]; int bytesReceived = webSocket_.receiveFrame(buffer, SIZE, flags); return {buffer, static_cast(bytesReceived)}; } + + int send(const std::string &message, int opCode) { + return webSocket_.sendFrame(message.c_str(), static_cast(message.length()), opCode); + } + + int send(std::span buffer, int opCode) { + return webSocket_.sendBytes(buffer.data(), static_cast(buffer.size()), opCode); + } private: ::Poco::Net::WebSocket webSocket_;