using System.Text.RegularExpressions; namespace Jellyfin.Plugin.TubeArchivistMetadata.Utilities { /// /// Class containing common utils. /// public static class Utils { /// /// Sanitize the given URL. /// /// An URL string. /// The URL string without spaces, doubled slashes and with a trailing slash. public static string SanitizeUrl(string inputUrl) { // Extract the schema part Match schemaMatch = Regex.Match(inputUrl, @"^(?https?://)"); // Remove double slashes and spaces from the remaining part of the URL string cleanedPath = Regex.Replace(inputUrl.Substring(schemaMatch.Length), @"[/\s]+", "/"); // Add a trailing slash if not already present cleanedPath = cleanedPath.TrimEnd('/') + "/"; // Combine the schema and cleaned path string cleanedUrl = schemaMatch.Groups["schema"].Value + cleanedPath; return cleanedUrl; } } }