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;
}
}
}