delphimvcframework/unittests/general/TestServer/TestServer.dpr
2022-01-26 23:00:32 +01:00

86 lines
3.7 KiB
ObjectPascal

program TestServer;
{$APPTYPE CONSOLE}
uses
System.SysUtils,
IdHTTPWebBrokerBridge,
Web.WebReq,
{$IFNDEF LINUX}
Winapi.Windows,
{$ENDIF }
Web.WebBroker,
MVCFramework.Commons,
MVCFramework.Console,
WebModuleUnit in 'WebModuleUnit.pas' {MainWebModule: TWebModule},
TestServerControllerU in 'TestServerControllerU.pas',
TestServerControllerExceptionU in 'TestServerControllerExceptionU.pas',
SpeedMiddlewareU in 'SpeedMiddlewareU.pas',
TestServerControllerPrivateU in 'TestServerControllerPrivateU.pas',
AuthHandlersU in 'AuthHandlersU.pas',
BusinessObjectsU in '..\..\..\samples\commons\BusinessObjectsU.pas',
MVCFramework in '..\..\..\sources\MVCFramework.pas',
TestServerControllerJSONRPCU in 'TestServerControllerJSONRPCU.pas',
MVCFramework.JSONRPC in '..\..\..\sources\MVCFramework.JSONRPC.pas',
RandomUtilsU in '..\..\..\samples\commons\RandomUtilsU.pas',
MVCFramework.Serializer.HTML in '..\..\..\sources\MVCFramework.Serializer.HTML.pas',
MVCFramework.Tests.Serializer.Entities in '..\..\common\MVCFramework.Tests.Serializer.Entities.pas',
MVCFramework.Router in '..\..\..\sources\MVCFramework.Router.pas';
{$R *.res}
procedure Logo;
begin
ResetConsole();
Writeln;
TextBackground(TConsoleColor.Black);
TextColor(TConsoleColor.Red);
Writeln(' ██████╗ ███╗ ███╗██╗ ██╗ ██████╗ ███████╗███████╗██████╗ ██╗ ██╗███████╗██████╗');
Writeln(' ██╔══██╗████╗ ████║██║ ██║██╔════╝ ██╔════╝██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗');
Writeln(' ██║ ██║██╔████╔██║██║ ██║██║ ███████╗█████╗ ██████╔╝██║ ██║█████╗ ██████╔╝');
Writeln(' ██║ ██║██║╚██╔╝██║╚██╗ ██╔╝██║ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══╝ ██╔══██╗');
Writeln(' ██████╔╝██║ ╚═╝ ██║ ╚████╔╝ ╚██████╗ ███████║███████╗██║ ██║ ╚████╔╝ ███████╗██║ ██║');
Writeln(' ╚═════╝ ╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝');
Writeln(' ');
TextColor(TConsoleColor.Yellow);
Writeln('DMVCFRAMEWORK VERSION: ', DMVCFRAMEWORK_VERSION);
TextColor(TConsoleColor.White);
end;
procedure RunServer(APort: Integer);
var
LServer: TIdHTTPWebBrokerBridge;
begin
Logo;
Writeln(Format('Starting HTTP Server or port %d', [APort]));
LServer := TIdHTTPWebBrokerBridge.Create(nil);
try
LServer.OnParseAuthentication :=
TMVCParseAuthentication.OnParseAuthentication;
LServer.DefaultPort := APort;
LServer.Active := True;
LServer.MaxConnections := 0;
LServer.ListenQueue := 200;
Writeln('Press RETURN to stop the server');
WaitForReturn;
TextColor(TConsoleColor.Red);
Writeln('Server stopped');
ResetConsole();
finally
LServer.Free;
end;
end;
begin
ReportMemoryLeaksOnShutdown := True;
try
if WebRequestHandler <> nil then
WebRequestHandler.WebModuleClass := WebModuleClass;
RunServer(9999);
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.