33 lines
1.2 KiB
C++
33 lines
1.2 KiB
C++
/*
|
|
SPDX-License-Identifier: GPL-3.0-or-later
|
|
Copyright © 2022 Amebis
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <oatpp/core/macro/component.hpp>
|
|
#include <oatpp/network/tcp/server/ConnectionProvider.hpp>
|
|
#include <oatpp/parser/json/mapping/ObjectMapper.hpp>
|
|
#include <oatpp/web/server/HttpConnectionHandler.hpp>
|
|
|
|
class AppComponent
|
|
{
|
|
public:
|
|
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::ServerConnectionProvider>, serverConnectionProvider)([] {
|
|
return oatpp::network::tcp::server::ConnectionProvider::createShared({"localhost", 8000, oatpp::network::Address::IP_4});
|
|
}());
|
|
|
|
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::web::server::HttpRouter>, httpRouter)([] {
|
|
return oatpp::web::server::HttpRouter::createShared();
|
|
}());
|
|
|
|
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::ConnectionHandler>, serverConnectionHandler)([] {
|
|
OATPP_COMPONENT(std::shared_ptr<oatpp::web::server::HttpRouter>, router);
|
|
return oatpp::web::server::HttpConnectionHandler::createShared(router);
|
|
}());
|
|
|
|
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::data::mapping::ObjectMapper>, apiObjectMapper)([] {
|
|
return oatpp::parser::json::mapping::ObjectMapper::createShared();
|
|
}());
|
|
};
|