оптимизон от нейронки, доделал автоматические действия, добавил глобальный лог, сделал реконекты к ДА
This commit is contained in:
+18
-6
@@ -24,8 +24,6 @@ type
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
|
||||
const
|
||||
ContentType = 'application/x-www-form-urlencoded';
|
||||
UserAgent = 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36';
|
||||
@@ -35,7 +33,8 @@ constructor TAPIClient.Create;
|
||||
begin
|
||||
inherited;
|
||||
FHttpClient := TIdHTTP.Create(nil);
|
||||
FSSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(FHttpClient);
|
||||
// ñîçäà¸ì SSL handler áåç âëàäåëüöà — ÿâíîå óïðàâëåíèå
|
||||
FSSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
|
||||
FSSLHandler.SSLOptions.Method := sslvSSLv23;
|
||||
FHttpClient.IOHandler := FSSLHandler;
|
||||
FHttpClient.Request.UserAgent := UserAgent;
|
||||
@@ -45,8 +44,21 @@ end;
|
||||
|
||||
destructor TAPIClient.Destroy;
|
||||
begin
|
||||
FHttpClient.Free;
|
||||
inherited;
|
||||
// Îòêëþ÷àåì è îñâîáîæäàåì â áåçîïàñíîì ïîðÿäêå
|
||||
try
|
||||
if Assigned(FHttpClient) then
|
||||
begin
|
||||
try
|
||||
// åñëè íóæíî — ïðåðâàòü àêòèâíûå ñîåäèíåíèÿ
|
||||
except
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
// Ñíà÷àëà îñâîáîæäàåì IOHandler (åñëè îí íå ïðèíàäëåæèò FHttpClient)
|
||||
FreeAndNil(FSSLHandler);
|
||||
FreeAndNil(FHttpClient);
|
||||
inherited;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TAPIClient.CheckHTTPError(AResponseCode: Integer; const AResponse: string);
|
||||
@@ -108,7 +120,6 @@ begin
|
||||
Response := FHttpClient.Post('https://www.donationalerts.com/api/v1/centrifuge/subscribe', Stream);
|
||||
CheckHTTPError(FHttpClient.ResponseCode, Response);
|
||||
Result := TJSONObject.ParseJSONValue(Response) as TJSONObject;
|
||||
// .toLog(3,'uAPIDA','SubscribeToChannel',Result.ToJSON);
|
||||
finally
|
||||
Stream.Free;
|
||||
FHttpClient.Request.CustomHeaders.Clear;
|
||||
@@ -121,3 +132,4 @@ begin
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user