2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#include "express/legacy/rc/Server.h"
44#include "log/Logger.h"
46#ifndef DOXYGEN_SHOULD_SKIP_THIS
53namespace express::legacy::
rc {
55 WebApp
Server(
const std::string& instanceName,
56 const express::
Router& router,
57 const std::function<
void(
const std::string&, WebApp::SocketAddress,
const core::socket::
State&)>& reportState,
58 const std::function<
void(
typename WebApp::Config&)>& configurator) {
59 using SocketAddress =
typename WebApp::SocketAddress;
61 const WebApp webApp
(instanceName
, router
);
63 if (configurator !=
nullptr) {
67 webApp
.listen([instanceName, reportState](
const SocketAddress& socketAddress,
const core::socket::
State& state) {
68 if (reportState !=
nullptr) {
69 reportState(instanceName, socketAddress, state);
73 VLOG(1) << instanceName <<
": listening on '" << socketAddress
.toString() <<
"'";
76 VLOG(1) << instanceName <<
": disabled";
88 VLOG(1) <<
"Instance: " << instanceName;
90 route.erase(std::remove(route.begin(), route.end(),
'$'), route.end());
92 VLOG(1) <<
" " << route;
98 WebApp
Server(
const std::string& instanceName,
const Router& router,
const std::function<
void(WebApp::Config&)>& configurator) {
99 return Server(instanceName
, router
, nullptr, configurator
);
Config & getConfig() const
static constexpr int DISABLED
static constexpr int ERROR
static constexpr int FATAL
void listen(const std::function< void(const SocketAddress &, core::socket::State)> &onStatus) const
std::list< std::string > getRoutes() const
WebAppT(const std::string &name, const Router &router)
std::string toString(bool expanded=true) const override
WebApp Server(const std::string &instanceName, const express::Router &router, const std::function< void(const std::string &, WebApp::SocketAddress, const core::socket::State &)> &reportState, const std::function< void(typename WebApp::Config &)> &configurator)
WebApp Server(const std::string &instanceName, const Router &router, const std::function< void(WebApp::Config &)> &configurator)