Older/WebApplication/WebApplication.cpp
amass 5d35522a19
Some checks failed
Deploy / PullDocker (push) Successful in 4s
Deploy / Build (push) Failing after 1m31s
add wt.
2024-10-30 23:59:59 +08:00

45 lines
1.2 KiB
C++

#include "WebApplication.h"
#include "BoostLog.h"
#include "Hello.h"
#include <Wt/WServer.h>
static std::unique_ptr<Wt::WApplication> createApplication(const Wt::WEnvironment &env) {
return std::make_unique<Hello>(env, false);
}
static std::unique_ptr<Wt::WApplication> createWidgetSet(const Wt::WEnvironment &env) {
return std::make_unique<Hello>(env, true);
}
WebApplication::WebApplication() {
try {
std::vector<std::string> args;
args.push_back("--docroot=./build");
args.push_back("--http-listen=127.0.0.1:8855");
// --docroot=. --no-compression --http-listen 127.0.0.1:8855
m_server = std::make_unique<Wt::WServer>("./build", args);
m_server->addEntryPoint(Wt::EntryPointType::Application, createApplication);
m_server->addEntryPoint(Wt::EntryPointType::WidgetSet, createWidgetSet, "/gui/hello.js");
m_thread = std::thread(&WebApplication::run, this);
} catch (const std::exception &e) {
LOG(error) << e.what();
}
}
WebApplication::~WebApplication() {
if (m_thread.joinable()) {
m_thread.join();
}
}
void WebApplication::run() {
try {
m_server->run();
} catch (const std::exception &e) {
LOG(error) << e.what();
}
}