From 6e4fe9d5885efd75891102be86b0e264852ff92d Mon Sep 17 00:00:00 2001 From: Hexah Date: Sat, 6 Jun 2020 11:28:36 +0200 Subject: [PATCH] Add SearchClient, Closes #32 --- lib/src/channels/channel_client.dart | 4 +-- lib/src/search/search_client.dart | 49 ++++++++++++++++++++++++++++ lib/src/youtube_explode_base.dart | 6 +++- lib/youtube_explode_dart.dart | 1 + test/search_test.dart | 23 ++++++++++++- 5 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 lib/src/search/search_client.dart diff --git a/lib/src/channels/channel_client.dart b/lib/src/channels/channel_client.dart index 8364c87..743187e 100644 --- a/lib/src/channels/channel_client.dart +++ b/lib/src/channels/channel_client.dart @@ -42,9 +42,9 @@ class ChannelClient { videoId = VideoId.fromString(videoId); var videoInfoResponse = await VideoInfoResponse.get(_httpClient, videoId.value); - var playerReponse = videoInfoResponse.playerResponse; + var playerResponse = videoInfoResponse.playerResponse; - var channelId = playerReponse.videoChannelId; + var channelId = playerResponse.videoChannelId; return await get(ChannelId(channelId)); } diff --git a/lib/src/search/search_client.dart b/lib/src/search/search_client.dart new file mode 100644 index 0000000..8ece938 --- /dev/null +++ b/lib/src/search/search_client.dart @@ -0,0 +1,49 @@ +import '../common/common.dart'; +import '../reverse_engineering/responses/playerlist_response.dart'; +import '../reverse_engineering/youtube_http_client.dart'; +import '../videos/video.dart'; +import '../videos/video_id.dart'; + +/// YouTube search queries. +class SearchClient { + final YoutubeHttpClient _httpClient; + + /// Initializes an instance of [SearchClient] + SearchClient(this._httpClient); + + /// Enumerates videos returned by the specified search query. + Stream