using System.Threading; using System.Threading.Tasks; using SpotifyAPI.Web.Http; using URLs = SpotifyAPI.Web.SpotifyUrls; namespace SpotifyAPI.Web { public class EpisodesClient : APIClient, IEpisodesClient { public EpisodesClient(IAPIConnector apiConnector) : base(apiConnector) { } public Task Get(string episodeId, CancellationToken cancel = default) { Ensure.ArgumentNotNullOrEmptyString(episodeId, nameof(episodeId)); return API.Get(URLs.Episode(episodeId), cancel); } public Task Get(string episodeId, EpisodeRequest request, CancellationToken cancel = default) { Ensure.ArgumentNotNullOrEmptyString(episodeId, nameof(episodeId)); Ensure.ArgumentNotNull(request, nameof(request)); return API.Get(URLs.Episode(episodeId), request.BuildQueryParams(), cancel); } public Task GetSeveral(EpisodesRequest request, CancellationToken cancel = default) { Ensure.ArgumentNotNull(request, nameof(request)); return API.Get(URLs.Episodes(), request.BuildQueryParams(), cancel); } } }