From 2075f8168cb4fbcd9c573ff66233afb28cc54d78 Mon Sep 17 00:00:00 2001 From: Andreas Coroiu Date: Thu, 8 Feb 2024 10:32:45 +0100 Subject: [PATCH] [PM-5731] chore: document uri helpers --- src/Core/Utilities/CoreHelpers.cs | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/Core/Utilities/CoreHelpers.cs b/src/Core/Utilities/CoreHelpers.cs index 95ba708c2..049f31229 100644 --- a/src/Core/Utilities/CoreHelpers.cs +++ b/src/Core/Utilities/CoreHelpers.cs @@ -38,12 +38,38 @@ namespace Bit.Core.Utilities #endif } + /// + /// Returns the host (and not port) of the given uri. + /// Does not support plain hostnames/only top level domain. + /// + /// Input => Output examples: + /// https://bitwarden.com => bitwarden.com + /// https://login.bitwarden.com:1337 => login.bitwarden.com + /// https://sub.login.bitwarden.com:1337 => sub.login.bitwarden.com + /// https://localhost:8080 => localhost + /// localhost => null + /// bitwarden => null + /// 127.0.0.1 => 127.0.0.1 + /// public static string GetHostname(string uriString) { var uri = GetUri(uriString); return string.IsNullOrEmpty(uri?.Host) ? null : uri.Host; } + /// + /// Returns the host and port of the given uri. + /// Does not support plain hostnames/only top level domain. + /// + /// Input => Output examples: + /// https://bitwarden.com => bitwarden.com + /// https://login.bitwarden.com:1337 => login.bitwarden.com:1337 + /// https://sub.login.bitwarden.com:1337 => sub.login.bitwarden.com:1337 + /// https://localhost:8080 => localhost:8080 + /// localhost => null + /// bitwarden => null + /// 127.0.0.1 => 127.0.0.1 + /// public static string GetHost(string uriString) { var uri = GetUri(uriString); @@ -61,6 +87,19 @@ namespace Bit.Core.Utilities return null; } + /// + /// Returns the second and top level domain of the given uri. + /// Does not support plain hostnames/only top level domain. + /// + /// Input => Output examples: + /// https://bitwarden.com => bitwarden.com + /// https://login.bitwarden.com:1337 => bitwarden.com + /// https://sub.login.bitwarden.com:1337 => bitwarden.com + /// https://localhost:8080 => localhost + /// localhost => null + /// bitwarden => null + /// 127.0.0.1 => 127.0.0.1 + /// public static string GetDomain(string uriString) { var uri = GetUri(uriString);