54int main(
int argc,
char* argv[]) {
55 using WebApp = apps::http::STREAM::WebApp;
56 using SocketAddress = WebApp::SocketAddress;
58 const WebApp webApp(apps::http::STREAM::getWebApp(
"httpserver"));
61 CLI::Option* htmlRoot = configWeb.addOption(
"--html-root",
"HTML root directory",
"path",
"");
63 WebApp::init(argc, argv);
65 webApp.use(express::
middleware::StaticMiddleware(htmlRoot->as<std::string>()));
67#if (STREAM_TYPE == TLS)
77 [instanceName = webApp.getConfig().getInstanceName()](
const SocketAddress& socketAddress,
const core::socket::State& state) {
79 case core::socket::State::OK:
80 VLOG(1) << instanceName <<
": listening on '" << socketAddress.toString() <<
"'";
82 case core::socket::State::DISABLED:
83 VLOG(1) << instanceName <<
": disabled";
85 case core::socket::State::ERROR:
86 LOG(ERROR) << instanceName <<
": " << socketAddress.toString() <<
": " << state.what();
88 case core::socket::State::FATAL:
89 LOG(FATAL) << instanceName <<
": " << socketAddress.toString() <<
": " << state.what();
94 return WebApp::start();