Advertisement
Guest User

sample code

a guest
Dec 17th, 2020
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.30 KB | None | 0 0
  1. program TestHttpSeverFinalization;
  2. {$APPTYPE CONSOLE}
  3.  
  4. {$I Synopse.inc}
  5.  
  6. uses
  7.   {$I SynDprUses.inc}  // use FastMM4 on older Delphi, or set FPC threads
  8.   SysUtils,
  9.   opensslsockets,
  10.   SynCrtSock,
  11.   SynLog,
  12.   mORMot,
  13.   mORMotHttpServer,
  14.   mORMotService;
  15.  
  16. var
  17.   AService: TSQLRestServerFullMemory;
  18.   AHTTPServer: TSQLHttpServer;
  19. begin
  20.   AService := TSQLRestServerFullMemory.CreateWithOwnModel([],false, 'root');
  21.  
  22.  
  23.   AHTTPServer := TSQLHttpServer.Create(
  24.        '8080',
  25.       [AService],
  26.       '+'
  27.       {$IFNDEF FPC}
  28.       {$ifndef ONLYUSEHTTPSOCKET}
  29.       ,useHttpApiRegisteringURI;
  30.       {$endif}
  31.       {$ENDIF}
  32.     );
  33.   try
  34.     AHTTPServer.AccessControlAllowOrigin := '*';
  35.  
  36.     with TSynLog.Family do
  37.     begin
  38.       DestinationPath := ExtractFileDir(ParamStr(0));
  39.       PerThreadLog := ptIdentifiedInOnFile; // ease multi-threaded server debug
  40.       HighResolutionTimestamp := True;
  41.       Level := LOG_VERBOSE;
  42.     end;
  43.  
  44.  
  45.     WriteLn('Server runing in http://localhost:', AHTTPServer.Port);
  46.     ReadLn;
  47.  
  48.     //Workarround do avoid exception on server finalization
  49.     AHTTPServer.Shutdown();
  50.     while AHTTPServer.DBServerCount > 0 do
  51.       AHTTPServer.RemoveServer(AHTTPServer.DBServer[0]);
  52.  
  53.   finally
  54.     FreeAndNil(AHTTPServer);
  55.     FreeAndNil(AService);
  56.   end;
  57. end.
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement