Files
retoor 3c4334cec9 feat: implement MoloApp plans 01-15 with integration
Full C++23 framework tree: runtime, observability, security,
data, app, realtime, supervisor, clients, CLI, example plus
enterprise tenancy, audit, operability, governance,
supplychain. Postgres via docker compose for tests.
2026-10-23 18:20:04 +02:00

54 lines
1.5 KiB
C++

#include "App.hpp"
namespace molo::example::app {
std::shared_ptr<fw::Application> build_application(Services& services) {
seed_services(services);
load_templates(services);
load_embedded(services);
auto app = std::make_shared<fw::Application>();
app->use(fw::MiddlewareSlot::Errors, fw::errors_middleware());
app->use(fw::MiddlewareSlot::Observability, fw::request_id_middleware());
app->use(fw::MiddlewareSlot::SessionAuth,
[](fw::Request req, fw::Next next) -> fw::Response {
fw::Response res = next(std::move(req));
res.headers.set("X-Frame-Options", "DENY");
res.headers.set("X-Content-Type-Options", "nosniff");
return res;
});
fw::Router index;
register_index(index, services);
app->include_router("", index);
fw::Router routing;
register_routing_demo(routing, services);
app->include_router("/routing", routing, "routing.");
fw::Router data;
register_data_demo(data, services);
app->include_router("", data);
fw::Router security;
register_security_demo(security, services);
app->include_router("", security);
fw::Router formats;
register_formats_demo(formats, services);
app->include_router("", formats);
fw::Router realtime;
register_realtime_demo(realtime, services);
app->include_router("", realtime);
fw::Router ops;
register_ops_demo(ops, services);
app->include_router("", ops);
register_chain_demo(app, services);
return app;
}
} // namespace molo::example::app