1program testweb;
2
3{$mode objfpc}{$H+}
4
5uses
6  Classes, SysUtils, httpdefs, custcgi,cgiapp,fphttp,fpcgi,
7  webutil, fpweb;
8
9Type
10  TMyWeb=Class(TCustomCGIApplication)
11    procedure HandleRequest(ARequest: TRequest; AResponse: TResponse); override;
12  end;
13
14procedure TMyWeb.HandleRequest(ARequest: TRequest; AResponse: TResponse);
15
16  Procedure AddNV(Const N,V : String);
17
18  begin
19    AResponse.Contents.Add('<TR><TD>'+N+'</TD><TD>'+V+'</TD></TR>');
20  end;
21
22Var
23  I,P : Integer;
24  N,V : String;
25
26begin
27  With AResponse.Contents do
28    begin
29    BeginUpdate;
30    Try
31      Add('<HTML><TITLE>FPC CGI Test page</TITLE><BODY>');
32      DumpRequest(ARequest,AResponse.Contents);
33      Add('<H1>CGI environment:</H1>');
34      Add('<TABLE BORDER="1">');
35      Add('<TR><TD>Name</TD><TD>Value</TD></TR>');
36      For I:=1 to GetEnvironmentVariableCount do
37        begin
38        V:=GetEnvironmentString(i);
39        P:=Pos('=',V);
40        N:=Copy(V,1,P-1);
41        system.Delete(V,1,P);
42        AddNV(N,V);
43        end;
44      Add('</TABLE>');
45      Add('</BODY></HTML>');
46    Finally
47      EndUpdate;
48    end;
49    end;
50end;
51
52Procedure Run;
53
54begin
55  With TMyWeb.Create(Nil) do
56    try
57      Initialize;
58      Run;
59    Finally
60      Free;
61    end;
62end;
63
64begin
65  Run;
66end.
67
68