get static method

Future<PlayerSource> get(
  1. YoutubeHttpClient httpClient,
  2. String url
)

Implementation

static Future<PlayerSource> get(
  YoutubeHttpClient httpClient,
  String url,
) async {
  if (_cache[url]?.expired ?? true) {
    final val = await retry(httpClient, () async {
      final raw = await httpClient.getString(url);
      return PlayerSource.parse(raw);
    });
    if (_cache[url] == null) {
      _cache[url] = _CachedValue(val);
    } else {
      _cache[url]!.update(val);
    }
  }
  return _cache[url]!.value;
}