unit WebModuleXDataU; interface uses System.SysUtils, System.Classes, Web.HTTPApp, FireDAC.Phys.MSSQLDef, FireDAC.Stan.Intf, FireDAC.Phys, FireDAC.Phys.ODBCBase, FireDAC.Phys.MSSQL, TMSLoggingCore; type TWebModuleXData = class(TWebModule) procedure WebModule1DefaultHandlerAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); private { Private declarations } public { Public declarations } end; var WebModuleClass: TComponentClass = TWebModuleXData; implementation uses Sparkle.WebBroker.Server, Sparkle.WebBroker.Adapter, Sparkle.Middleware.Jwt, Sparkle.Middleware.Cors, XData.Server.Module, ConnectionModule, Aurelius.Engine.DatabaseManager, XData.Module.Events, XData.Sys.Exceptions; {%CLASSGROUP 'System.Classes.TPersistent'} {$R *.dfm} var Server: TWebBrokerServer; Module: TXDataServerModule; Logger: TTMSCustomLogger; procedure TWebModuleXData.WebModule1DefaultHandlerAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var Adapter:IWebBrokerAdapter; begin Adapter:=TWebBrokerAdapter.Create(Request,Response); Server.DispatchRequest(Adapter); end; initialization Logger:=TTMSCustomLogger.Create; Logger.LoadConfigurationFromFile(nil,'/var/log/apache2/logger.ini'); Logger.Debug('aaa'); Server:=TWebBrokerServer.Create; Module:=TXDataServerModule.Create( 'some url', FireDacMSSQLConnection.CreateConnection ); Module.AddMiddleware(TJwtMiddleware.Create('some sicret password')); Module.AddMiddleware(TCorsMiddleware.Create('*', 'GET,POST,DELETE,PUT')); Server.Dispatcher.AddModule(Module); finalization Logger.Free; Server.Free; end.