-
Notifications
You must be signed in to change notification settings - Fork 315
Expand file tree
/
Copy pathTracksClient.cs
More file actions
56 lines (43 loc) · 1.99 KB
/
TracksClient.cs
File metadata and controls
56 lines (43 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System.Threading;
using System.Threading.Tasks;
using SpotifyAPI.Web.Http;
using URLs = SpotifyAPI.Web.SpotifyUrls;
namespace SpotifyAPI.Web
{
public class TracksClient : APIClient, ITracksClient
{
public TracksClient(IAPIConnector apiConnector) : base(apiConnector) { }
public Task<FullTrack> Get(string trackId, CancellationToken cancel = default)
{
Ensure.ArgumentNotNullOrEmptyString(trackId, nameof(trackId));
return API.Get<FullTrack>(URLs.Track(trackId), cancel);
}
public Task<FullTrack> Get(string trackId, TrackRequest request, CancellationToken cancel = default)
{
Ensure.ArgumentNotNullOrEmptyString(trackId, nameof(trackId));
Ensure.ArgumentNotNull(request, nameof(request));
return API.Get<FullTrack>(URLs.Track(trackId), request.BuildQueryParams(), cancel);
}
public Task<TrackAudioAnalysis> GetAudioAnalysis(string trackId, CancellationToken cancel = default)
{
Ensure.ArgumentNotNullOrEmptyString(trackId, nameof(trackId));
return API.Get<TrackAudioAnalysis>(URLs.AudioAnalysis(trackId), cancel);
}
public Task<TrackAudioFeatures> GetAudioFeatures(string trackId, CancellationToken cancel = default)
{
Ensure.ArgumentNotNullOrEmptyString(trackId, nameof(trackId));
return API.Get<TrackAudioFeatures>(URLs.AudioFeatures(trackId), cancel);
}
[System.Obsolete("This endpoint (GET /tracks) has been removed.")]
public Task<TracksResponse> GetSeveral(TracksRequest request, CancellationToken cancel = default)
{
Ensure.ArgumentNotNull(request, nameof(request));
return API.Get<TracksResponse>(URLs.Tracks(), request.BuildQueryParams(), cancel);
}
public Task<TracksAudioFeaturesResponse> GetSeveralAudioFeatures(TracksAudioFeaturesRequest request, CancellationToken cancel = default)
{
Ensure.ArgumentNotNull(request, nameof(request));
return API.Get<TracksAudioFeaturesResponse>(URLs.AudioFeatures(), request.BuildQueryParams(), cancel);
}
}
}