Class TWWWForm (unit WWW) |
Inherits from
TForm
procedure DisconButClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDeactivate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
Application.
procedure FormShow(Sender: TObject);
For security reasons, I am turning this off Don't want them to be able to get just any file they want Result := SendFile(fn, '');
procedure ListenButClick(Sender: TObject);
Shutdown WinSock
procedure MinimizeButClick(Sender: TObject);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
Stat := Format('%-20s %-20s %-20s Port %d',
['Client Hit', Socket.
procedure ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1Listen(Sender: TObject;
Socket: TCustomWinSocket);
procedure Shutdown1Click(Sender: TObject);
procedure WWWServer1Click(Sender: TObject);
procedure CheckButtons;
function Is_Valid_HTTP_Request(const Request: string): boolean;
+4 is to skip over CR+CR
procedure Parse_HTTP_Request(const Request: string; var FileName, Hdrs, Data: string);
Request should end with a CR
function Process_HTTP_Request(const FileName, Hdrs, Data: string): string;
'Expires: ' + FormatDateTime('ddd, dd mmm yyyy hh:nn:ss EST', Now + TENMINUTES) + CR +
function RunScript(const FileName, Hdrs, Data: string): string;
************************************************************************ RunScript
procedure SetStat(const s: string);
procedure UpdateIconMsg(var Msg: TMessage);
procedure UpdateIcons(Hit: boolean);
This is here for debugging only - set a breakpoint on the line below
property Stat : string
AddrLab : TLabel;
DisconBut : TButton;
FormSettings1 : TFormSettings;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
ListBox1 : TListBox;
ListenBut : TButton;
MinimizeBut : TButton;
N1 : TMenuItem;
NameLab : TLabel;
PortLab : TLabel;
ServerSocket1 : TServerSocket;
Shutdown1 : TMenuItem;
TopPanel : TPanel;
TrayIcon1 : TTrayIcon;
WWWHitImage : TImage;
WWWImage : TImage;
WWWMenu : TPopupMenu;
WWWServer1 : TMenuItem;
SesMgr : TWABD_SessionMgr;
DataList : TStringList;
SockList : TList;
procedure DisconButClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDeactivate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
Application.Terminate;
procedure FormShow(Sender: TObject);
For security reasons, I am turning this off Don't want them to be able to get just any file they want Result := SendFile(fn, '');
procedure ListenButClick(Sender: TObject);
Shutdown WinSock
procedure MinimizeButClick(Sender: TObject);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
Stat := Format('%-20s %-20s %-20s Port %d',
['Client Hit', Socket.RemoteHost,
'(' + Socket.RemoteAddress + ')', Socket.RemotePort]);
procedure ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1Listen(Sender: TObject;
Socket: TCustomWinSocket);
procedure Shutdown1Click(Sender: TObject);
procedure WWWServer1Click(Sender: TObject);
procedure CheckButtons;
function Is_Valid_HTTP_Request(const Request: string): boolean;
+4 is to skip over CR+CR
procedure Parse_HTTP_Request(const Request: string; var FileName, Hdrs, Data: string);
Request should end with a CR
function Process_HTTP_Request(const FileName, Hdrs, Data: string): string;
'Expires: ' + FormatDateTime('ddd, dd mmm yyyy hh:nn:ss EST', Now + TENMINUTES) + CR +
function RunScript(const FileName, Hdrs, Data: string): string;
************************************************************************ RunScript
procedure SetStat(const s: string);
procedure UpdateIconMsg(var Msg: TMessage);
procedure UpdateIcons(Hit: boolean);
This is here for debugging only - set a breakpoint on the line below
property Stat : string
AddrLab : TLabel;
DisconBut : TButton;
FormSettings1 : TFormSettings;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
ListBox1 : TListBox;
ListenBut : TButton;
MinimizeBut : TButton;
N1 : TMenuItem;
NameLab : TLabel;
PortLab : TLabel;
ServerSocket1 : TServerSocket;
Shutdown1 : TMenuItem;
TopPanel : TPanel;
TrayIcon1 : TTrayIcon;
WWWHitImage : TImage;
WWWImage : TImage;
WWWMenu : TPopupMenu;
WWWServer1 : TMenuItem;
SesMgr : TWABD_SessionMgr;
DataList : TStringList;
SockList : TList;