FRecvString: String;
FProxyServer: String;
FProxyPort: integer;
+ FProxyUser: String;
+ FProxyPass: String;
FOnSuccess: TNotifyEvent;
FOnConnectionFailed: TNotifyEvent;
FLastErrorMessage: String;
FTriggerWorkEventBy: integer;
procedure SetProxyPort(const Value: integer);
procedure SetProxyServer(const Value: String);
+ procedure SetProxyUser(const Value: String);
+ procedure SetProxyPass(const Value: String);
procedure SetOnConnectionFailed(const Value: TNotifyEvent);
procedure SetOnSuccess(const Value: TNotifyEvent);
procedure SetOnHttpWork(const Value: THttpWorkEvent);
property RecvString: String read FRecvString;
property ProxyServer: String read FProxyServer write SetProxyServer;
property ProxyPort: integer read FProxyPort write SetProxyPort;
+ property ProxyUser: String read FProxyUser write SetProxyUser;
+ property ProxyPass: String read FProxyPass write SetProxyPass;
property OnConnectionFailed: TNotifyEvent read FOnConnectionFailed write SetOnConnectionFailed;
property OnSuccess: TNotifyEvent read FOnSuccess write SetOnSuccess;
property OnHttpWork: THttpWorkEvent read FOnHttpWork write SetOnHttpWork;
Http.Host := FHost;
Http.ProxyParams.ProxyServer := ProxyServer;
Http.ProxyParams.ProxyPort := ProxyPort;
+
+ if ProxyUser <> '' then begin
+ if ProxyPass <> '' then begin
+ Http.ProxyParams.BasicAuthentication := true;
+ Http.ProxyParams.ProxyUsername := ProxyUser;
+ Http.ProxyParams.ProxyPassword := ProxyPass;
+ end;
+ end;
+
Http.OnWork := WorkHandler;
if FPost = '' then begin
FRecvString := Http.Get(FURL);
raise EIdException.Create('Tried to change proxy without suspending');
end;
+procedure THTTPDownloadThread.SetProxyUser(const Value: String);
+begin
+ if Suspended then
+ FProxyUser := Value
+ else
+ raise EIdException.Create('Tried to change proxy without suspending');
+end;
+
+procedure THTTPDownloadThread.SetProxyPass(const Value: String);
+begin
+ if Suspended then
+ FProxyPass := Value
+ else
+ raise EIdException.Create('Tried to change proxy without suspending');
+end;
+
procedure THTTPDownloadThread.SetTriggerWorkEventBy(const Value: integer);
begin
FTriggerWorkEventBy := Value;