simplehttpserver.pas 969 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. program simplehttpserver;
  2. {$mode objfpc}{$H+}
  3. {$define UseCThreads}
  4. uses
  5. {$IFDEF UNIX}{$IFDEF UseCThreads}
  6. cthreads,
  7. {$ENDIF}{$ENDIF}
  8. sysutils, Classes, fphttpserver, fpmimetypes, testhttpserver;
  9. Type
  10. { TTestHTTPServer }
  11. THTTPServer = Class(TTestHTTPServer)
  12. Protected
  13. Procedure DoIdle(Sender : TObject);
  14. procedure DoWriteInfo(S: string);
  15. end;
  16. Var
  17. Serv : THTTPServer;
  18. { THTTPServer }
  19. procedure THTTPServer.DoIdle(Sender: TObject);
  20. begin
  21. Writeln('Idle, waiting for connections');
  22. end;
  23. procedure THTTPServer.DoWriteInfo(S: string);
  24. begin
  25. Writeln(S);
  26. end;
  27. begin
  28. Serv:=THTTPServer.Create(Nil);
  29. try
  30. Serv.BaseDir:=ExtractFilePath(ParamStr(0));
  31. {$ifdef unix}
  32. Serv.MimeTypesFile:='/etc/mime.types';
  33. {$endif}
  34. Serv.Threaded:=False;
  35. Serv.Port:=8080;
  36. Serv.AcceptIdleTimeout:=1000;
  37. Serv.OnAcceptIdle:[email protected];
  38. Serv.WriteInfo:[email protected];
  39. Serv.Active:=True;
  40. finally
  41. Serv.Free;
  42. end;
  43. end.