|
@@ -7,7 +7,7 @@ uses
|
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
|
cthreads,
|
|
cthreads,
|
|
{$ENDIF}{$ENDIF}
|
|
{$ENDIF}{$ENDIF}
|
|
- sysutils, Classes, fphttpserver, fpmimetypes;
|
|
|
|
|
|
+ sysutils, Classes, fphttpserver, fpmimetypes, wmecho;
|
|
|
|
|
|
Type
|
|
Type
|
|
|
|
|
|
@@ -21,13 +21,16 @@ Type
|
|
FMimeTypesFile: String;
|
|
FMimeTypesFile: String;
|
|
procedure SetBaseDir(const AValue: String);
|
|
procedure SetBaseDir(const AValue: String);
|
|
Protected
|
|
Protected
|
|
|
|
+ Procedure DoIdle(Sender : TObject);
|
|
procedure CheckMimeLoaded;
|
|
procedure CheckMimeLoaded;
|
|
|
|
+
|
|
Property MimeLoaded : Boolean Read FMimeLoaded;
|
|
Property MimeLoaded : Boolean Read FMimeLoaded;
|
|
public
|
|
public
|
|
procedure HandleRequest(Var ARequest: TFPHTTPConnectionRequest;
|
|
procedure HandleRequest(Var ARequest: TFPHTTPConnectionRequest;
|
|
Var AResponse : TFPHTTPConnectionResponse); override;
|
|
Var AResponse : TFPHTTPConnectionResponse); override;
|
|
Property BaseDir : String Read FBaseDir Write SetBaseDir;
|
|
Property BaseDir : String Read FBaseDir Write SetBaseDir;
|
|
Property MimeTypesFile : String Read FMimeTypesFile Write FMimeTypesFile;
|
|
Property MimeTypesFile : String Read FMimeTypesFile Write FMimeTypesFile;
|
|
|
|
+
|
|
end;
|
|
end;
|
|
|
|
|
|
Var
|
|
Var
|
|
@@ -42,6 +45,11 @@ begin
|
|
FBaseDir:=IncludeTrailingPathDelimiter(FBaseDir);
|
|
FBaseDir:=IncludeTrailingPathDelimiter(FBaseDir);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TTestHTTPServer.DoIdle(Sender: TObject);
|
|
|
|
+begin
|
|
|
|
+ Writeln('Idle, waiting for connections');
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TTestHTTPServer.CheckMimeLoaded;
|
|
procedure TTestHTTPServer.CheckMimeLoaded;
|
|
begin
|
|
begin
|
|
If (Not MimeLoaded) and (MimeTypesFile<>'') then
|
|
If (Not MimeLoaded) and (MimeTypesFile<>'') then
|
|
@@ -98,6 +106,8 @@ begin
|
|
{$endif}
|
|
{$endif}
|
|
Serv.Threaded:=False;
|
|
Serv.Threaded:=False;
|
|
Serv.Port:=8080;
|
|
Serv.Port:=8080;
|
|
|
|
+ Serv.AcceptIdleTimeout:=1000;
|
|
|
|
+ Serv.OnAcceptIdle:[email protected];
|
|
Serv.Active:=True;
|
|
Serv.Active:=True;
|
|
finally
|
|
finally
|
|
Serv.Free;
|
|
Serv.Free;
|