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 33 of file verysimpleserver.cpp.

33 {
34 utils::Config::addStringOption("--web-root", "Root directory of the web site", "[path]");
35
36 express::WebApp::init(argc, argv);
37
38 using LegacyWebApp = express::legacy::in::WebApp;
39 using LegacySocketAddress = LegacyWebApp::SocketAddress;
40
41 const LegacyWebApp legacyApp;
42 legacyApp.getConfig().setReuseAddress();
43
45
46 legacyApp.listen(8080,
47 [instanceName = legacyApp.getConfig().getInstanceName()](const LegacySocketAddress& socketAddress,
48 const core::socket::State& state) {
49 switch (state) {
50 case core::socket::State::OK:
51 VLOG(1) << instanceName << " listening on '" << socketAddress.toString() << "'";
52 break;
53 case core::socket::State::DISABLED:
54 VLOG(1) << instanceName << " disabled";
55 break;
56 case core::socket::State::ERROR:
57 LOG(ERROR) << instanceName << " " << socketAddress.toString() << ": " << state.what();
58 break;
59 case core::socket::State::FATAL:
60 LOG(FATAL) << instanceName << " " << socketAddress.toString() << ": " << state.what();
61 break;
62 }
63 });
64
65 using TLSWebApp = express::tls::in::WebApp;
66 using TLSSocketAddress = TLSWebApp::SocketAddress;
67
68 const TLSWebApp tlsApp;
69 tlsApp.getConfig().setReuseAddress();
70
71 tlsApp.getConfig().setCert("/home/voc/projects/snodec/snode.c/certs/wildcard.home.vchrist.at_-_snode.c_-_server.pem");
72 tlsApp.getConfig().setCertKey("/home/voc/projects/snodec/snode.c/certs/Volker_Christian_-_Web_-_snode.c_-_server.key.encrypted.pem");
73 tlsApp.getConfig().setCertKeyPassword("snode.c");
74
76
77 tlsApp.listen(
78 8088,
79 [instanceName = legacyApp.getConfig().getInstanceName()](const TLSSocketAddress& socketAddress, const core::socket::State& state) {
80 switch (state) {
81 case core::socket::State::OK:
82 VLOG(1) << instanceName << " listening on '" << socketAddress.toString() << "'";
83 break;
84 case core::socket::State::DISABLED:
85 VLOG(1) << instanceName << " disabled";
86 break;
87 case core::socket::State::ERROR:
88 LOG(ERROR) << instanceName << " " << socketAddress.toString() << ": " << state.what();
89 break;
90 case core::socket::State::FATAL:
91 LOG(FATAL) << instanceName << " " << socketAddress.toString() << ": " << state.what();
92 break;
93 }
94 });
95
97}
static void init(int argc, char *argv[])
Definition WebApp.cpp:34
static int start(const utils::Timeval &timeOut={LONG_MAX, 0})
Definition WebApp.cpp:38
static CLI::Option * addStringOption(const std::string &name, const std::string &description, const std::string &typeName)
Definition Config.cpp:862
static std::string getStringOptionValue(const std::string &name)
Definition Config.cpp:919
WebAppT< web::http::legacy::in::ServerBase< web::http::server::Request, web::http::server::Response > > WebApp
Definition WebApp.h:32
WebAppT< web::http::tls::in::ServerBase< web::http::server::Request, web::http::server::Response > > WebApp
Definition WebApp.h:32

References express::WebApp::init(), and express::WebApp::start().

Here is the call graph for this function: