dataFromVideoDeliveryUrl static method

Map<String, dynamic> dataFromVideoDeliveryUrl(
  1. String url
)

Implementation

static Map<String, dynamic> dataFromVideoDeliveryUrl(String url) {
  String cleanUrl = url
      .replaceAll('$uploadVideoDeliveryUrl/', '')
      .replaceAll('$watchVideoDeliveryUrl/', '')
      .replaceAll('$videoDeliveryUrl/', '')
      .replaceAll('$videoCloudflareUrl/', '');
  String? videoId;
  String? customAccountSubdomain = customAccountSubdomainFromUrl(cleanUrl);
  String? customAccountSubdomainCode = customAccountSubdomain
      ?.replaceAll('https://customer-', '')
      .replaceAll('.cloudflarestream.com', '');

  cleanUrl = customCloudflareAccountSubdomainInvertRegExp
          .firstMatch(cleanUrl)
          ?.group(1) ??
      cleanUrl;

  final split = cleanUrl.split('/');
  videoId = split.isNotEmpty ? split[0] : null;

  if (videoId == null) {
    // throw Exception('Invalid Cloudflare video from url');
    return {};
  }
  return {
    Params.id: videoId,
    Params.subdomainAccount: customAccountSubdomain,
    Params.subdomainAccountCode: customAccountSubdomainCode,
  };
}