From 94ea6a88b0f3d5db5cd5ff64359e20f0a6ce02c8 Mon Sep 17 00:00:00 2001 From: Hexah Date: Fri, 21 Feb 2020 21:55:49 +0100 Subject: [PATCH] Address PR request. #8 --- lib/src/youtube_explode_base.dart | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/src/youtube_explode_base.dart b/lib/src/youtube_explode_base.dart index 6f81bab..45a1289 100644 --- a/lib/src/youtube_explode_base.dart +++ b/lib/src/youtube_explode_base.dart @@ -231,7 +231,7 @@ class YoutubeExplode { videoInfo['shortDescription'], ThumbnailSet(videoId), Duration(seconds: int.parse(videoInfo['lengthSeconds'])), - videoInfo['keywords']?.cast(), + videoInfo['keywords']?.cast() ?? const [], Statistics(int.parse(videoInfo['viewCount']), 0, 0)); var streamingData = playerResponseJson['streamingData']; @@ -297,7 +297,7 @@ class YoutubeExplode { var author = details['author']; var description = details['shortDescription']; var duration = Duration(seconds: int.parse(details['lengthSeconds'])); - var keyWords = details['keywords']?.cast(); + var keyWords = details['keywords']?.cast() ?? const []; var viewCount = int.tryParse(details['viewCount'] ?? '0') ?? 0; var videoPageHtml = await _getVideoWatchPageHtml(videoId); @@ -345,11 +345,13 @@ class YoutubeExplode { Future _requestContentLength(String url) async { var resp; try { - resp = await http.head(url); - } on Exception catch (e) { + resp = await client.head(url); + } on Exception { + return -1; + } + if (!resp.headers.containsKey('content-length')) { return -1; } - if (!resp.headers.containsKey('content-length')) return -1; String contentLengthString = resp.headers['content-length']; return int.tryParse(contentLengthString ?? '') ?? -1; }