diff --git a/CMakeLists.txt b/CMakeLists.txt index 8988a83..920f81d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ install(FILES LICENSE DESTINATION /usr/share/doc/cards) # ─── Packaging (CPack) ──────────────────────────────────────────────── set(CPACK_PACKAGE_NAME "cards") -set(CPACK_PACKAGE_VERSION "1.0.1") +set(CPACK_PACKAGE_VERSION "1.0.4") set(CPACK_PACKAGE_VENDOR "cards") set(CPACK_PACKAGE_MAINTAINER "adwet") set(CPACK_PACKAGE_CONTACT "adwet@yandex.ru") diff --git a/src/server.cpp b/src/server.cpp index 3be53c1..4b3f7c8 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -111,16 +111,18 @@ void HttpSession::processRequest(http::request&& request) { }); } -void HttpSession::writeResponse(http::response&& res) { +void HttpSession::writeResponse(http::response res) { auto self = shared_from_this(); + auto response = std::make_shared>(std::move(res)); http::async_write( stream, - res, - [self](beast::error_code ec, std::size_t) { + *response, + [self, response](beast::error_code ec, std::size_t) { if (ec) { self->handleError(ec, "write"); } - self->stream.socket().shutdown(net::ip::tcp::socket::shutdown_send, ec); + beast::error_code ignored; + self->stream.socket().shutdown(net::ip::tcp::socket::shutdown_send, ignored); } ); } diff --git a/src/server.hpp b/src/server.hpp index 84242e0..9b4d6ba 100644 --- a/src/server.hpp +++ b/src/server.hpp @@ -32,7 +32,7 @@ private: void readRequest(); void onRead(beast::error_code ec, std::size_t bytes_transferred); void processRequest(http::request&& req); - void writeResponse(http::response&& res); + void writeResponse(http::response res); void handleError(beast::error_code ec, const char* what); beast::tcp_stream stream;