diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d35ccb..b121cf5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ project(UpAndDown) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) - +add_definitions(-D_WIN32_WINNT=0x0602) if(POLICY CMP0167) cmake_policy(SET CMP0167 OLD) endif() @@ -48,6 +48,7 @@ add_executable(App ./src/main.cpp ./src/DAO/MemoryAuthDAO.cpp ./src/DAO/MemoryAuthDAO.h ./src/endpoints_handlers/AuthLogoutExecutor.h + ./src/endpoints_handlers/AuthLoginExecutor.h ./src/exceptions/session_exception.cpp ./src/exceptions/session_exception.h src/log/Log.h diff --git a/src/Listener.cpp b/src/Listener.cpp deleted file mode 100644 index 6397ba1..0000000 --- a/src/Listener.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "Listener.h" - -namespace uad -{ -Listener::Listener(boost::asio::io_context& ioc, - boost::asio::ip::tcp::endpoint endpoint, - const std::shared_ptr& doc_root) - : ioc_(ioc), acceptor_(net::make_strand(ioc)), doc_root_(doc_root) -{ - beast::error_code ec; - - acceptor_.open(endpoint.protocol(), ec); - if (ec) - { - uad::Fail(ec, "open"); - return; - } - - acceptor_.set_option(net::socket_base::reuse_address(true), ec); - if (ec) - { - uad::Fail(ec, "set_option"); - return; - } - - acceptor_.bind(endpoint, ec); - if (ec) - { - uad::Fail(ec, "bind"); - return; - } - - acceptor_.listen( - net::socket_base::max_listen_connections, ec); - if (ec) - { - uad::Fail(ec, "listen"); - return; - } -} - -void Listener::Run() -{ - DoAccept(); -} - -void Listener::DoAccept() -{ - acceptor_.async_accept( - net::make_strand(ioc_), - beast::bind_front_handler( - &Listener::OnAccept, - shared_from_this())); -} - -void Listener::OnAccept(beast::error_code ec, tcp::socket socket) -{ - if (ec) - { - uad::Fail(ec, "accept"); - return; - } - else - { - std::make_shared( - std::move(socket), - doc_root_)->Run(); - } - - DoAccept(); -} -} diff --git a/src/Listener.h b/src/Listener.h deleted file mode 100644 index 9c795f6..0000000 --- a/src/Listener.h +++ /dev/null @@ -1,45 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "helpers.h" -#include "Session.h" - -namespace uad -{ -namespace beast = boost::beast; -namespace http = beast::http; -namespace net = boost::asio; -using tcp = boost::asio::ip::tcp; - -class Listener : public std::enable_shared_from_this -{ - net::io_context& ioc_; - tcp::acceptor acceptor_; - std::shared_ptr doc_root_; - - public: - Listener( - net::io_context& ioc, - tcp::endpoint endpoint, - std::shared_ptr const& doc_root); - - void Run(); - - private: - void DoAccept(); - - void OnAccept(beast::error_code ec, tcp::socket socket); -}; -} diff --git a/src/endpoints_handlers/AuthLoginExecutor.h b/src/endpoints_handlers/AuthLoginExecutor.h index 12f8056..e8f07c1 100644 --- a/src/endpoints_handlers/AuthLoginExecutor.h +++ b/src/endpoints_handlers/AuthLoginExecutor.h @@ -1,11 +1,12 @@ #pragma once +#include #include #include #include #include -#include +#include #include "IExecutor.h" #include "../DAO/IUserDAO.h" #include "../DAO/IAuthDAO.h" @@ -38,6 +39,8 @@ public: using namespace boost::beast; using namespace std::string_literals; + BOOST_LOG_TRIVIAL(info) << "POST /api/v1/Auth/Login - Request"; + const auto body = req.body(); value req_json; diff --git a/src/log/Log.cpp b/src/log/Log.cpp index 46308e1..2315e20 100644 --- a/src/log/Log.cpp +++ b/src/log/Log.cpp @@ -14,8 +14,9 @@ void InitLogs() logging::keywords::file_name = "app_%Y-%m-%d_%H-%M-%S.log", logging::keywords::rotation_size = 10 * 1024 * 1024, logging::keywords::time_based_rotation = - logging::sinks::file::rotation_at_time_point(0, 0, 0), + logging::sinks::file::rotation_at_time_point(0, 0, 0), logging::keywords::format = "[%TimeStamp%] [%Severity%]: %Message%" -); + ); + logging::add_common_attributes(); } } diff --git a/src/main.cpp b/src/main.cpp index fe3f6f4..8924612 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,10 +1,9 @@ +#include #ifdef WIN32 #include #endif -#include -#include -#include + #include #include #include @@ -52,7 +51,6 @@ int main(int argc, char* argv[]) InitLogs(); // Добавление общих атрибутов (включая время) - logging::add_common_attributes(); uad::SetMySqlSession(new mysqlx::Session(mysql_credentials)); @@ -63,7 +61,7 @@ int main(int argc, char* argv[]) net::signal_set signals(ioc, SIGINT, SIGTERM); signals.async_wait([&](beast::error_code const&, int) { ioc.stop(); }); - BOOST_LOG_TRIVIAL(info) << "Приложение запущено"; + BOOST_LOG_TRIVIAL(info) << "Приложение запущено2"; std::vector v; v.reserve(threads - 1);