51 lines
1.1 KiB
Plaintext
51 lines
1.1 KiB
Plaintext
program HelloWorldWebServer;
|
|
|
|
{$APPTYPE CONSOLE}
|
|
|
|
uses SysUtils, IdContext, IdCustomHTTPServer, IdHTTPServer;
|
|
|
|
type
|
|
TWebServer = class
|
|
private
|
|
FHTTPServer: TIdHTTPServer;
|
|
public
|
|
constructor Create;
|
|
destructor Destroy; override;
|
|
procedure HTTPServerCommandGet(AContext: TIdContext;
|
|
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
|
|
end;
|
|
|
|
constructor TWebServer.Create;
|
|
begin
|
|
FHTTPServer := TIdHTTPServer.Create(nil);
|
|
FHTTPServer.DefaultPort := 8080;
|
|
FHTTPServer.OnCommandGet := HTTPServerCommandGet;
|
|
FHTTPServer.Active := True;
|
|
end;
|
|
|
|
destructor TWebServer.Destroy;
|
|
begin
|
|
FHTTPServer.Active := False;
|
|
FHTTPServer.Free;
|
|
inherited Destroy;
|
|
end;
|
|
|
|
procedure TWebServer.HTTPServerCommandGet(AContext: TIdContext;
|
|
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
|
|
begin
|
|
AResponseInfo.ContentText := 'Goodbye, World!';
|
|
end;
|
|
|
|
var
|
|
lWebServer: TWebServer;
|
|
begin
|
|
lWebServer := TWebServer.Create;
|
|
try
|
|
Writeln('Delphi Hello world/Web server ');
|
|
Writeln('Press Enter to quit');
|
|
Readln;
|
|
finally
|
|
lWebServer.Free;
|
|
end;
|
|
end.
|