From bfcfe3121d57fcaa58be24454ba17e8e0a9393f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D1=80=D0=B5=D0=BF=D0=BE=D0=B4=D0=BE=D0=B1=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=90=D0=BB=D0=B5=D0=BD?= Date: Thu, 9 Jun 2022 02:01:55 +0300 Subject: [PATCH] Committing updates. --- src/modules/Workers/WebService/WebService.cpp | 28 ++++++++++--------- src/modules/Workers/WebService/WebService.hpp | 2 -- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/modules/Workers/WebService/WebService.cpp b/src/modules/Workers/WebService/WebService.cpp index 4376efe..9a654bf 100644 --- a/src/modules/Workers/WebService/WebService.cpp +++ b/src/modules/Workers/WebService/WebService.cpp @@ -291,12 +291,23 @@ namespace Apostol { Context.Tokens().Values("access_token", Json["access_token"].AsString()); Context.SetFixedDate(0); - Context.SetCheckDate(Now() + (CDateTime) 55 / MinsPerDay); // 55 min + Context.SetCheckDate(Now() + (CDateTime) 50 / MinsPerDay); // 50 min } return true; }; + auto OnFail = [&Context](CTCPConnection *Sender, const Delphi::Exception::Exception &E) { + Context.SetStatus(csInitialized); + + auto pConnection = dynamic_cast (Sender); + auto pClient = dynamic_cast (pConnection->Client()); + + DebugReply(pConnection->Reply()); + + Log()->Error(APP_LOG_ERR, 0, "[%s:%d] %s", pClient->Host().c_str(), pClient->Port(), E.what()); + }; + auto OnHTTPClient = [this](const CLocation &URI) { return GetClient(URI.hostname, URI.port); }; @@ -309,7 +320,7 @@ namespace Apostol { Context.Tokens().Values("service_token", service_token); if (!token_uri.IsEmpty()) { - CToken::FetchAccessToken(token_uri.front() == '/' ? server_uri + token_uri : token_uri, service_token, OnHTTPClient, OnDone); + CToken::FetchAccessToken(token_uri.front() == '/' ? server_uri + token_uri : token_uri, service_token, OnHTTPClient, OnDone, OnFail); } } //-------------------------------------------------------------------------------------------------------------- @@ -342,14 +353,6 @@ namespace Apostol { } //-------------------------------------------------------------------------------------------------------------- - int CWebService::NextServerIndex() { - m_ServerIndex++; - if (m_ServerIndex >= m_Servers.Count()) - m_ServerIndex = -1; - return m_ServerIndex; - } - //-------------------------------------------------------------------------------------------------------------- - bool CWebService::DoProxyExecute(CTCPConnection *AConnection) { auto pConnection = dynamic_cast (AConnection); @@ -420,8 +423,7 @@ namespace Apostol { } } - Log()->Error(APP_LOG_EMERG, 0, "[%s:%d] %s", pProxy->Host().c_str(), pProxy->Port(), - E.what()); + Log()->Error(APP_LOG_EMERG, 0, "[%s:%d] %s", pProxy->Host().c_str(), pProxy->Port(), E.what()); } //-------------------------------------------------------------------------------------------------------------- @@ -1671,7 +1673,7 @@ namespace Apostol { if (Now >= Context.CheckDate()) { Context.SetCheckDate(Now + (CDateTime) 30 / SecsPerDay); // 30 sec - if ((Context.Status() == Context::csInitialized) || (Context.Status() == Context::csRunning)) { + if (Context.Status() != Context::csAuthorization) { Context.SetStatus(Context::csAuthorization); CheckProviders(Now, Context); diff --git a/src/modules/Workers/WebService/WebService.hpp b/src/modules/Workers/WebService/WebService.hpp index ce0f531..83aa062 100644 --- a/src/modules/Workers/WebService/WebService.hpp +++ b/src/modules/Workers/WebService/WebService.hpp @@ -73,8 +73,6 @@ namespace Apostol { protected: - int NextServerIndex(); - CHTTPProxy *GetProxy(CHTTPServerConnection *AConnection); const CContext &CurrentServer() const;