using System; using System.IO; namespace TweetLib.Core.Utils{ public static class UrlUtils{ private const string TwitterTrackingUrl = "t.co"; public enum CheckResult{ Invalid, Tracking, Fine } public static CheckResult Check(string url){ if (Uri.TryCreate(url, UriKind.Absolute, out Uri uri)){ string scheme = uri.Scheme; if (scheme == Uri.UriSchemeHttps || scheme == Uri.UriSchemeHttp || scheme == Uri.UriSchemeFtp || scheme == Uri.UriSchemeMailto){ return uri.Host == TwitterTrackingUrl ? CheckResult.Tracking : CheckResult.Fine; } } return CheckResult.Invalid; } public static string? GetFileNameFromUrl(string url){ string file = Path.GetFileName(new Uri(url).AbsolutePath); return string.IsNullOrEmpty(file) ? null : file; } } }