delphimvcframework/samples/apachemodule/mod_dmvc.dpr

70 lines
2.0 KiB
ObjectPascal
Raw Normal View History

2014-05-22 12:48:17 +02:00
library mod_dmvc;
uses
2018-05-15 10:32:25 +02:00
System.Threading,
2014-05-22 12:48:17 +02:00
Winapi.ActiveX,
System.Win.ComObj,
Web.WebBroker,
Web.ApacheApp,
Web.HTTPD24Impl,
2018-05-15 10:32:25 +02:00
MVCFramework.Logger,
MVCFramework.DotEnv,
MVCFramework.Commons,
Web.HTTPDMethods,
Winapi.Windows,
System.Classes,
2023-02-02 19:14:34 +01:00
MainDataModuleUnit in '..\WineCellarSample\winecellarserver\MainDataModuleUnit.pas' {WineCellarDataModule: TDataModule},
MainWebModuleUnit in '..\WineCellarSample\winecellarserver\MainWebModuleUnit.pas' {wm: TWebModule},
WineCellarAppControllerU in '..\WineCellarSample\winecellarserver\WineCellarAppControllerU.pas',
WinesBO in '..\WineCellarSample\winecellarserver\WinesBO.pas';
2014-05-22 12:48:17 +02:00
{$R *.res}
// httpd.conf entries:
//
(*
2018-05-15 10:32:25 +02:00
LoadModule dmvc_module modules/mod_dmvc.dll
2014-05-22 12:48:17 +02:00
2018-05-15 10:32:25 +02:00
<Location /xyz>
SetHandler mod_dmvc-handler
</Location>
2014-05-22 12:48:17 +02:00
*)
//
// These entries assume that the output directory for this project is the apache/modules directory.
//
// httpd.conf entries should be different if the project is changed in these ways:
2018-05-15 10:32:25 +02:00
// 1. The TApacheModuleData variable name is changed
// 2. The project is renamed.
// 3. The output directory is not the apache/modules directory
2014-05-22 12:48:17 +02:00
//
// Declare exported variable so that Apache can access this module.
var
GModuleData: TApacheModuleData;
2018-05-15 10:32:25 +02:00
2014-05-22 12:48:17 +02:00
exports
GModuleData name 'dmvc_module';
{
Navigate to http://localhost/winecellar/
}
2014-05-22 12:48:17 +02:00
begin
CoInitFlags := COINIT_MULTITHREADED;
dotEnvConfigure(
function : IMVCDotEnv
begin
Result := NewDotEnv
.WithStrategy(TMVCDotEnvPriority.FileThenEnv)
.UseLogger(procedure(LogItem: String)
begin
LogW('dotEnv: ' + LogItem);
end)
.Build(); //uses the executable folder to look for .env* files
end);
2014-05-22 12:48:17 +02:00
Web.ApacheApp.InitApplication(@GModuleData);
Application.Initialize;
Application.WebModuleClass := WebModuleClass;
Application.Run;
2018-05-15 10:32:25 +02:00
2014-05-22 12:48:17 +02:00
end.