SNode.C
Loading...
Searching...
No Matches
verysimpleserver.cpp File Reference
Include dependency graph for verysimpleserver.cpp:

Go to the source code of this file.

Functions

int main (int argc, char *argv[])

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 56 of file verysimpleserver.cpp.

56 {
58
59 express::WebApp::init(argc, argv);
60
61 using LegacyWebApp = express::legacy::in::WebApp;
62 using LegacySocketAddress = LegacyWebApp::SocketAddress;
63
64 const LegacyWebApp legacyApp;
66
67 legacyApp.getConfig().setReuseAddress();
68
69 legacyApp.listen(8080,
70 [instanceName = legacyApp.getConfig().getInstanceName()](const LegacySocketAddress& socketAddress,
71 const core::socket::State& state) {
72 switch (state) {
73 case core::socket::State::OK:
74 VLOG(1) << instanceName << " listening on '" << socketAddress.toString() << "'";
75 break;
76 case core::socket::State::DISABLED:
77 VLOG(1) << instanceName << " disabled";
78 break;
79 case core::socket::State::ERROR:
80 LOG(ERROR) << instanceName << " " << socketAddress.toString() << ": " << state.what();
81 break;
82 case core::socket::State::FATAL:
83 LOG(FATAL) << instanceName << " " << socketAddress.toString() << ": " << state.what();
84 break;
85 }
86 });
87
88 using TLSWebApp = express::tls::in::WebApp;
89 using TLSSocketAddress = TLSWebApp::SocketAddress;
90
91 const TLSWebApp tlsApp;
92
93 tlsApp.getConfig().setCert("/home/voc/projects/snodec/snode.c/certs/wildcard.home.vchrist.at_-_snode.c_-_server.pem");
94 tlsApp.getConfig().setCertKey("/home/voc/projects/snodec/snode.c/certs/Volker_Christian_-_Web_-_snode.c_-_server.key.encrypted.pem");
95 tlsApp.getConfig().setCertKeyPassword("snode.c");
96
98
99 tlsApp.getConfig().setReuseAddress();
100
101 tlsApp.listen(
102 8088,
103 [instanceName = legacyApp.getConfig().getInstanceName()](const TLSSocketAddress& socketAddress, const core::socket::State& state) {
104 switch (state) {
106 VLOG(1) << instanceName << " listening on '" << socketAddress.toString() << "'";
107 break;
109 VLOG(1) << instanceName << " disabled";
110 break;
112 LOG(ERROR) << instanceName << " " << socketAddress.toString() << ": " << state.what();
113 break;
115 LOG(FATAL) << instanceName << " " << socketAddress.toString() << ": " << state.what();
116 break;
117 }
118 });
119
120 return express::WebApp::start();
121}
static constexpr int DISABLED
Definition State.h:56
static constexpr int ERROR
Definition State.h:57
static constexpr int FATAL
Definition State.h:58
static constexpr int OK
Definition State.h:55
static void init(int argc, char *argv[])
Definition WebApp.cpp:56
static int start(const utils::Timeval &timeOut={LONG_MAX, 0})
Definition WebApp.cpp:60
static T * addInstance()
static T * getInstance()
WebAppT< web::http::legacy::in::Server > WebApp
Definition WebApp.h:56
WebAppT< web::http::tls::in::Server > WebApp
Definition WebApp.h:54

References utils::Config::addInstance(), core::socket::State::DISABLED, core::socket::State::ERROR, core::socket::State::FATAL, core::socket::Socket< ConfigT >::getConfig(), instance::ConfigWWW::getHtmlRoot(), utils::Config::getInstance(), net::config::ConfigInstance::getInstanceName(), express::WebApp::init(), net::in::stream::SocketServer< SocketAcceptorT, ConfigSocketServerT, SocketContextFactoryT, Args >::listen(), core::socket::State::OK, net::config::ConfigTls::setCert(), net::config::ConfigTls::setCertKey(), net::config::ConfigTls::setCertKeyPassword(), net::in::stream::config::ConfigSocketServer::setReuseAddress(), express::WebApp::start(), net::in::SocketAddress::toString(), and core::socket::State::what().

Here is the call graph for this function: