2014-06-27 15:30:39 +02:00
|
|
|
unit WebModuleUnit1;
|
|
|
|
|
2024-04-04 16:21:45 +02:00
|
|
|
|
2014-06-27 15:30:39 +02:00
|
|
|
interface
|
|
|
|
|
2024-03-30 00:30:14 +01:00
|
|
|
uses System.SysUtils, System.Classes, Web.HTTPApp, mvcframework, FireDAC.Phys.FBDef, FireDAC.Stan.Intf, FireDAC.Phys,
|
|
|
|
FireDAC.Phys.IBBase, FireDAC.Phys.FB;
|
2014-06-27 15:30:39 +02:00
|
|
|
|
|
|
|
type
|
|
|
|
TWebModule1 = class(TWebModule)
|
|
|
|
procedure WebModuleCreate(Sender: TObject);
|
|
|
|
private
|
|
|
|
FEngine: TMVCEngine;
|
|
|
|
public
|
|
|
|
{ Public declarations }
|
|
|
|
end;
|
|
|
|
|
|
|
|
var
|
|
|
|
WebModuleClass: TComponentClass = TWebModule1;
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
{ %CLASSGROUP 'Vcl.Controls.TControl' }
|
|
|
|
|
2023-09-01 12:49:10 +02:00
|
|
|
uses
|
|
|
|
Controllers.Articles,
|
|
|
|
MVCFramework.Middleware.CORS,
|
2024-03-30 00:30:14 +01:00
|
|
|
MVCFramework.Middleware.ActiveRecord,
|
2023-09-01 12:49:10 +02:00
|
|
|
MVCFramework.Middleware.Compression,
|
|
|
|
MVCFramework.Middleware.Trace,
|
2024-03-30 00:30:14 +01:00
|
|
|
MVCFramework.SQLGenerators.Firebird,
|
2023-09-01 12:49:10 +02:00
|
|
|
MVCFramework.Commons,
|
2024-03-30 00:30:14 +01:00
|
|
|
Controllers.Base,
|
2024-04-04 16:21:45 +02:00
|
|
|
Commons
|
|
|
|
|
|
|
|
;
|
2014-06-27 15:30:39 +02:00
|
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
procedure TWebModule1.WebModuleCreate(Sender: TObject);
|
|
|
|
begin
|
2021-02-04 14:11:33 +01:00
|
|
|
FEngine := TMVCEngine.Create(self,
|
|
|
|
procedure(Config: TMVCConfig)
|
|
|
|
begin
|
|
|
|
//Enabling the following line, the API will start to respond from "/api/v1"
|
|
|
|
//So "/articles/1" becomes "/api/v1/articles/1"
|
|
|
|
//Config[TMVCConfigKey.PathPrefix] := '/api/v1';
|
|
|
|
end);
|
2014-06-27 15:30:39 +02:00
|
|
|
FEngine.AddController(TArticlesController);
|
2021-02-04 14:11:33 +01:00
|
|
|
{$IFDEF TESTINSTANCE}
|
2020-01-24 10:09:14 +01:00
|
|
|
FEngine.AddController(TPrivateController);
|
2021-02-04 14:11:33 +01:00
|
|
|
{$ENDIF}
|
2017-02-04 23:43:06 +01:00
|
|
|
FEngine.AddMiddleware(TCORSMiddleware.Create);
|
2018-10-23 16:18:34 +02:00
|
|
|
FEngine.AddMiddleware(TMVCCompressionMiddleware.Create(256));
|
2024-03-30 00:30:14 +01:00
|
|
|
FEngine.AddMiddleware(TMVCActiveRecordMiddleware.Create(CON_DEF_NAME));
|
|
|
|
|
2024-01-24 00:14:26 +01:00
|
|
|
// FEngine.AddMiddleware(TMVCTraceMiddleware.Create);
|
2014-06-27 15:30:39 +02:00
|
|
|
end;
|
|
|
|
|
|
|
|
end.
|