155 lines
3.4 KiB
ObjectPascal
155 lines
3.4 KiB
ObjectPascal
unit mckHTTP;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Classes, Messages, Forms, SysUtils,
|
|
KOLRAS, mirror, KOL, KOLHTTP;
|
|
|
|
type
|
|
|
|
PKOLHttp =^TKOLHttp;
|
|
TKOLHttp = class(TKOLObj)
|
|
private
|
|
|
|
fUserName: string;
|
|
fUserPass: string;
|
|
fHostAddr: string;
|
|
fHostPort: string;
|
|
fProxyAdr: string;
|
|
fProxyPrt: string;
|
|
|
|
fOnHttpClo: TOnEvent;
|
|
|
|
public
|
|
|
|
constructor Create(Owner: TComponent); override;
|
|
|
|
protected
|
|
|
|
function AdditionalUnits: string; override;
|
|
procedure SetupFirst( SL: TStringList; const AName, AParent, Prefix: String ); override;
|
|
procedure SetupLast( SL: TStringList; const AName, AParent, Prefix: String ); override;
|
|
procedure AssignEvents( SL: TStringList; const AName: String ); override;
|
|
|
|
procedure SetUserName(Value: string);
|
|
procedure SetUserPass(Value: string);
|
|
procedure SetHostAddr(Value: string);
|
|
procedure SetHostPort(Value: string);
|
|
procedure SetProxyAdr(Value: string);
|
|
procedure SetProxyPrt(Value: string);
|
|
|
|
procedure SetOnHttpClo(Value: TOnEvent);
|
|
|
|
published
|
|
|
|
property UserName : string read fUserName write SetUserName;
|
|
property Password : string read fUserPass write SetUserPass;
|
|
property Url : string read fHostAddr write SetHostAddr;
|
|
property Port : string read fHostPort write SetHostPort;
|
|
property ProxyAddr: string read fProxyAdr write SetProxyAdr;
|
|
property ProxyPort: string read fProxyPrt write SetProxyPrt;
|
|
|
|
property OnClose : TOnEvent read fOnHttpClo write SetOnHttpClo;
|
|
|
|
end;
|
|
|
|
procedure Register;
|
|
|
|
implementation
|
|
|
|
{$R *.dcr}
|
|
|
|
constructor TKOLHttp.create;
|
|
begin
|
|
inherited create(Owner);
|
|
fHostPort := '80';
|
|
end;
|
|
|
|
procedure TKOLHttp.SetUserName;
|
|
begin
|
|
fUserName := Value;
|
|
Change;
|
|
end;
|
|
|
|
procedure TKOLHttp.SetUserPass;
|
|
begin
|
|
fUserPass := Value;
|
|
Change;
|
|
end;
|
|
|
|
procedure TKOLHttp.SetHostAddr;
|
|
begin
|
|
fHostAddr := Value;
|
|
Change;
|
|
end;
|
|
|
|
procedure TKOLHttp.SetHostPort;
|
|
begin
|
|
fHostPort := Value;
|
|
Change;
|
|
end;
|
|
|
|
procedure TKOLHttp.SetProxyAdr;
|
|
begin
|
|
fProxyAdr := Value;
|
|
Change;
|
|
end;
|
|
|
|
procedure TKOLHttp.SetProxyPrt;
|
|
begin
|
|
fProxyPrt := Value;
|
|
Change;
|
|
end;
|
|
|
|
procedure TKOLHttp.SetOnHttpClo;
|
|
begin
|
|
fOnHttpClo := Value;
|
|
Change;
|
|
end;
|
|
|
|
function TKOLHttp.AdditionalUnits;
|
|
begin
|
|
Result := ', KOLHttp';
|
|
end;
|
|
|
|
procedure TKOLHttp.SetupFirst(SL: TStringList; const AName,
|
|
AParent, Prefix: String);
|
|
begin
|
|
SL.Add( Prefix + AName + ' := NewKOLHttpControl;' );
|
|
if fUserName <> '' then
|
|
SL.Add( Prefix + AName + '.UserName := ''' + fUserName + ''';');
|
|
if fUserPass <> '' then
|
|
SL.Add( Prefix + AName + '.Password := ''' + fUserPass + ''';');
|
|
if fHostAddr <> '' then
|
|
SL.Add( Prefix + AName + '.Url := ''' + fHostAddr + ''';');
|
|
if fHostPort <> '80' then
|
|
SL.Add( Prefix + AName + '.HostPort := ' + fHostPort + ';');
|
|
if fProxyAdr <> '' then
|
|
SL.Add( Prefix + AName + '.ProxyAddr := ''' + fProxyAdr + ''';');
|
|
if fProxyPrt <> '' then
|
|
SL.Add( Prefix + AName + '.ProxyPort := ' + fProxyPrt + ';');
|
|
end;
|
|
|
|
procedure TKOLHttp.SetupLast(SL: TStringList; const AName,
|
|
AParent, Prefix: String);
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TKOLHttp.AssignEvents(SL: TStringList; const AName: String);
|
|
begin
|
|
inherited;
|
|
DoAssignEvents( SL, AName,
|
|
[ 'OnClose' ],
|
|
[ @OnClose ]);
|
|
end;
|
|
|
|
procedure Register;
|
|
begin
|
|
RegisterComponents('KOLAddons', [TKOLHttp]);
|
|
end;
|
|
|
|
end.
|
|
|