unit MiniHTTPServer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPServer, IdCustomHTTPServer,
IdHTTPServer, StdCtrls, Contnrs;
type
TForm1 =
class(TForm)
Server: TIdHTTPServer;
Active: TCheckBox;
Port: TEdit;
procedure ServerCommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo);
procedure ActiveClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ServerCommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
// hier wird die Anfrage bearbeitet.
// Die URL der Anfrage steht in ARequestInfo.URI,
// und kann Parameter enthalten.
// Beispiel "/index.html?data1=wert1&data2=wert2
// Die Parameter können einzeln ausgelesen werden, Beispiel
// var1 := ARequestInfo.Params.Values['data1'];
// Nach der Verarbeitung kann man einen Text zurücksenden (optional)
AResponseInfo.ContentText:= '
hello world!';
end;
procedure TForm1.ActiveClick(Sender: TObject);
begin
Try
If Active.Checked
then begin
Server.DefaultPort:=StrToIntDef(Port.Text,80);
end;
Server.Active:=Active.Checked;
Finally
Active.Checked:=Server.Active;
end;
end;
end.