using System.Threading; using System.Threading.Tasks; using SpotifyAPI.Web.Http; using URLs = SpotifyAPI.Web.SpotifyUrls; namespace SpotifyAPI.Web { public class PersonalizationClient : APIClient, IPersonalizationClient { public PersonalizationClient(IAPIConnector apiConnector) : base(apiConnector) { } public Task> GetTopArtists(CancellationToken cancel = default) { return API.Get>(URLs.PersonalizationTop("artists"), cancel); } public Task> GetTopArtists(PersonalizationTopRequest request, CancellationToken cancel = default) { Ensure.ArgumentNotNull(request, nameof(request)); return API.Get>(URLs.PersonalizationTop("artists"), request.BuildQueryParams(), cancel); } public Task> GetTopTracks(CancellationToken cancel = default) { return API.Get>(URLs.PersonalizationTop("tracks"), cancel); } public Task> GetTopTracks(PersonalizationTopRequest request, CancellationToken cancel = default) { Ensure.ArgumentNotNull(request, nameof(request)); return API.Get>(URLs.PersonalizationTop("tracks"), request.BuildQueryParams(), cancel); } } }