summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/fcl-web/examples/echo/webmodule/wmecho.pas
blob: 28ba2ad522dab33dbb2732754a6dd2f5efeea131 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
unit wmecho;

{$mode objfpc}{$H+}

interface

uses
  SysUtils, Classes, httpdefs, fpHTTP, fpWeb, webutil;

type

  { TEchoModule }

  TEchoModule = class(TFPWebModule)
    procedure EchoModuleRequest(Sender: TObject; ARequest: TRequest;
      AResponse: TResponse; var Handled: Boolean);
  private
    { private declarations }
  public
    { public declarations }
  end; 

var
  EchoModule: TEchoModule;

implementation

{$R *.lfm}

{ TEchoModule }

procedure TEchoModule.EchoModuleRequest(Sender: TObject; ARequest: TRequest;
  AResponse: TResponse; var Handled: Boolean);
Var
  S : TStrings;

begin
  S:=TStringList.Create;
  try
    // Analyze request.
    DumpRequest(ARequest,S);

    AResponse.Contents:=S;
    Handled:=True;
  finally
    S.Free;
  end;
end;

initialization
  RegisterHTTPModule('TEchoModule', TEchoModule);
end.