private static string GetNativeFileCdnUrl(string fileName, bool isSecured, bool canCompress)
{
Func<string, string, string> append = (path, segment) => path + (path.EndsWith("/", StringComparison.Ordinal) ? string.Empty : "/") + segment;
string extension = Path.GetExtension(fileName);
bool isJs = extension.IsCaseInsensitiveEqual(".js");
bool isCss = extension.IsCaseInsensitiveEqual(".css");
string basePath;
if (isJs)
{
basePath = isSecured ?
WebAssetDefaultSettings.TelerikContentDeliveryNetworkSecureScriptUrl :
WebAssetDefaultSettings.TelerikContentDeliveryNetworkScriptUrl;
}
else if (isCss)
{
basePath = isSecured ?
WebAssetDefaultSettings.TelerikContentDeliveryNetworkSecureStyleSheetUrl :
WebAssetDefaultSettings.TelerikContentDeliveryNetworkStyleSheetUrl;
}
else
{
throw new InvalidOperationException("Unknown file type \"{0}\".".FormatWith(extension));
}
string productName = canCompress ? "mvcz" : "mvc";
basePath = append(basePath, productName);
basePath = append(basePath, WebAssetDefaultSettings.Version);
extension = isCss ? ".min.css" : ".min.js";
return append(basePath, Path.ChangeExtension(fileName, extension));
}