uses
Web.HTTPApp, sgcWebSocket_Server_WebBrokerBridge,
sgcHTMX_Engine_Server_WebBrokerBridge, sgcHTMX_Router;
FServer := TsgcWSHTTPWebBrokerBridgeServer.Create(Self);
FServer.Port := 8080;
FRouter := TsgcHTMX_Router.Create(Self);
oRoute := FRouter.Routes.Add;
oRoute.Path := '/dashboard/refresh';
oRoute.OnRoute := OnDashboardRefresh;
FEngine := TsgcHTMX_Engine_Server_WebBrokerBridge.Create(Self);
FEngine.Router := FRouter;
FEngine.Template.Title := 'DataSnap Realtime Dashboard';
FEngine.Template.BodyContent := BuildDashboard;
FEngine.Server := FServer;
FServer.Active := True;
FEngine.BroadcastFragment(BuildStatsFragment);
FEngine := TsgcHTMX_Engine_Server_WebBroker.Create(WebModule1);
FEngine.Router := FRouter;
FServer = new TsgcWSHTTPWebBrokerBridgeServer(this);
FServer->Port = 8080;
FRouter = new TsgcHTMX_Router(this);
TsgcHTMX_Route *oRoute = FRouter->Routes->Add();
oRoute->Path = "/dashboard/refresh";
oRoute->OnRoute = OnDashboardRefresh;
FEngine = new TsgcHTMX_Engine_Server_WebBrokerBridge(this);
FEngine->Router = FRouter;
FEngine->Template->Title = "DataSnap Realtime Dashboard";
FEngine->Template->BodyContent = BuildDashboard();
FEngine->Server = FServer;
FServer->Active = true;
FEngine->BroadcastFragment(BuildStatsFragment());
FEngine = new TsgcHTMX_Engine_Server_WebBroker(WebModule1);
FEngine->Router = FRouter;
using esegece.sgcHTML;
using esegece.sgcHTML.AspNetCore;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.UseSgcHtml(engine =>
{
engine.MapPage("/", () => BuildDashboard());
});
app.Run();