You've already forked lazarus-ccr
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1782 8e941d3f-bd1b-0410-a28a-d453659cc2b4
55 lines
1.5 KiB
ObjectPascal
55 lines
1.5 KiB
ObjectPascal
program http_server;
|
|
|
|
{$mode objfpc}{$H+}
|
|
{$IFDEF UNIX}
|
|
{$DEFINE UseCThreads}
|
|
{$DEFINE USE_THREAD}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF WINDOWS}
|
|
{$DEFINE USE_THREAD}
|
|
{$ENDIF}
|
|
|
|
uses
|
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
|
cthreads,
|
|
{$ENDIF}{$ENDIF}
|
|
Classes, SysUtils,
|
|
fpc_http_server, // indy_http_server,
|
|
metadata_service, logger_extension, server_listener,
|
|
server_service_soap, server_binary_formatter, server_service_xmlrpc, server_service_json, config_objects,
|
|
user_service_intf, user_service_intf_binder, user_service_intf_imp, server_service_intf;
|
|
|
|
|
|
var
|
|
AppObject : TwstListener;
|
|
begin
|
|
Server_service_RegisterBinaryFormat();
|
|
Server_service_RegisterSoapFormat();
|
|
Server_service_RegisterXmlRpcFormat();
|
|
Server_service_RegisterJsonFormat();
|
|
|
|
RegisterUserServiceImplementationFactory();
|
|
Server_service_RegisterUserServiceService();
|
|
|
|
GetServiceImplementationRegistry().FindFactory('UserService').RegisterExtension(['TLoggerServiceExtension']);
|
|
//wst_CreateDefaultFile(wst_GetConfigFileName(),nil);
|
|
|
|
//AppObject := TwstIndyHttpListener.Create('');
|
|
AppObject := TwstFPHttpListener.Create('');
|
|
try
|
|
{$IFDEF USE_THREAD}
|
|
TwstFPHttpListener(AppObject).Options := [loExecuteInThread, loHandleRequestInThread];
|
|
{$ENDIF}
|
|
WriteLn('"Web Service Toolkit" HTTP Server sample listening at:');
|
|
WriteLn('');
|
|
WriteLn('http://127.0.0.1:8000/');
|
|
WriteLn('');
|
|
WriteLn('Press enter to quit.');
|
|
AppObject.Start();
|
|
ReadLn();
|
|
finally
|
|
FreeAndNil(AppObject);
|
|
end;
|
|
end.
|