Kaynağa Gözat

OpenedSessionsS3Amazon and OpenedSessionsS3Other counters

Source commit: 5c34dc40d39cf93a217f8f341ab960db92f52853
Martin Prikryl 2 yıl önce
ebeveyn
işleme
b306995b1c

+ 7 - 0
source/core/Common.cpp

@@ -2929,6 +2929,13 @@ UnicodeString __fastcall ExtractFileNameFromUrl(const UnicodeString & Url)
   }
   return Result;
 }
+//---------------------------------------------------------------------
+bool IsDomainOrSubdomain(const UnicodeString & FullDomain, const UnicodeString & Domain)
+{
+  return
+    SameText(FullDomain, Domain) ||
+    EndsText(L"." + Domain, FullDomain);
+}
 //---------------------------------------------------------------------------
 UnicodeString __fastcall EscapeHotkey(const UnicodeString & Caption)
 {

+ 1 - 0
source/core/Common.h

@@ -126,6 +126,7 @@ UnicodeString __fastcall EncodeUrlString(UnicodeString S);
 UnicodeString __fastcall EncodeUrlPath(UnicodeString S);
 UnicodeString __fastcall AppendUrlParams(UnicodeString URL, UnicodeString Params);
 UnicodeString __fastcall ExtractFileNameFromUrl(const UnicodeString & Url);
+bool IsDomainOrSubdomain(const UnicodeString & FullDomain, const UnicodeString & Domain);
 bool __fastcall RecursiveDeleteFile(const UnicodeString & FileName, bool ToRecycleBin = false);
 int __fastcall RecursiveDeleteFileChecked(const UnicodeString & FileName, bool ToRecycleBin);
 void __fastcall DeleteFileChecked(const UnicodeString & FileName);

+ 8 - 1
source/core/S3FileSystem.cpp

@@ -839,7 +839,14 @@ bool __fastcall TS3FileSystem::GetActive()
 //---------------------------------------------------------------------------
 void __fastcall TS3FileSystem::CollectUsage()
 {
-  // noop
+  if (IsDomainOrSubdomain(FTerminal->SessionData->HostNameExpanded, S3HostName))
+  {
+    FTerminal->Configuration->Usage->Inc(L"OpenedSessionsS3Amazon");
+  }
+  else
+  {
+    FTerminal->Configuration->Usage->Inc(L"OpenedSessionsS3Other");
+  }
 }
 //---------------------------------------------------------------------------
 const TSessionInfo & __fastcall TS3FileSystem::GetSessionInfo()

+ 1 - 8
source/core/SessionData.cpp

@@ -2127,13 +2127,6 @@ void __fastcall TSessionData::MaskPasswords()
   }
 }
 //---------------------------------------------------------------------
-static bool IsDomainOrSubdomain(const UnicodeString & FullDomain, const UnicodeString & Domain)
-{
-  return
-    SameText(FullDomain, Domain) ||
-    EndsText(L"." + Domain, FullDomain);
-}
-//---------------------------------------------------------------------
 bool __fastcall TSessionData::ParseUrl(UnicodeString Url, TOptions * Options,
   TStoredSessionList * StoredSessions, bool & DefaultsOnly, UnicodeString * FileName,
   bool * AProtocolDefined, UnicodeString * MaskedUrl, int Flags)
@@ -2364,7 +2357,7 @@ bool __fastcall TSessionData::ParseUrl(UnicodeString Url, TOptions * Options,
       else if (ProtocolDefined)
       {
         if ((AFSProtocol == fsWebDAV) &&
-            (IsDomainOrSubdomain(HostName, S3LibDefaultHostName()) ||
+            (IsDomainOrSubdomain(HostName, S3HostName) ||
              IsDomainOrSubdomain(HostName, L"digitaloceanspaces.com") ||
              IsDomainOrSubdomain(HostName, L"storage.googleapis.com") ||
              IsDomainOrSubdomain(HostName, L"r2.cloudflarestorage.com")))