22using System ;
33using System . Collections . Generic ;
44using System . Threading . Tasks ;
5+ using SpotifyAPI . Web . Models ;
56
67namespace SpotifyAPI . Web
78{
@@ -14,44 +15,44 @@ public interface IClient : IDisposable
1415 /// </summary>
1516 /// <param name="url">An URL</param>
1617 /// <returns></returns>
17- string Download ( string url ) ;
18+ Tuple < ResponseInfo , string > Download ( string url ) ;
1819
1920 /// <summary>
2021 /// Downloads data async from an URL and returns it
2122 /// </summary>
2223 /// <param name="url"></param>
2324 /// <returns></returns>
24- Task < string > DownloadAsync ( string url ) ;
25+ Task < Tuple < ResponseInfo , string > > DownloadAsync ( string url ) ;
2526
2627 /// <summary>
2728 /// Downloads data from an URL and returns it
2829 /// </summary>
2930 /// <param name="url">An URL</param>
3031 /// <returns></returns>
31- byte [ ] DownloadRaw ( string url ) ;
32+ Tuple < ResponseInfo , byte [ ] > DownloadRaw ( string url ) ;
3233
3334 /// <summary>
3435 /// Downloads data async from an URL and returns it
3536 /// </summary>
3637 /// <param name="url"></param>
3738 /// <returns></returns>
38- Task < byte [ ] > DownloadRawAsync ( string url ) ;
39+ Task < Tuple < ResponseInfo , byte [ ] > > DownloadRawAsync ( string url ) ;
3940
4041 /// <summary>
4142 /// Downloads data from an URL and converts it to an object
4243 /// </summary>
4344 /// <typeparam name="T">The Type which the object gets converted to</typeparam>
4445 /// <param name="url">An URL</param>
4546 /// <returns></returns>
46- T DownloadJson < T > ( string url ) ;
47+ Tuple < ResponseInfo , T > DownloadJson < T > ( string url ) ;
4748
4849 /// <summary>
4950 /// Downloads data async from an URL and converts it to an object
5051 /// </summary>
5152 /// <typeparam name="T">The Type which the object gets converted to</typeparam>
5253 /// <param name="url">An URL</param>
5354 /// <returns></returns>
54- Task < T > DownloadJsonAsync < T > ( string url ) ;
55+ Task < Tuple < ResponseInfo , T > > DownloadJsonAsync < T > ( string url ) ;
5556
5657 /// <summary>
5758 /// Uploads data from an URL and returns the response
@@ -60,7 +61,7 @@ public interface IClient : IDisposable
6061 /// <param name="body">The Body-Data (most likely a JSON String)</param>
6162 /// <param name="method">The Upload-method (POST,DELETE,PUT)</param>
6263 /// <returns></returns>
63- string Upload ( string url , string body , string method ) ;
64+ Tuple < ResponseInfo , string > Upload ( string url , string body , string method ) ;
6465
6566 /// <summary>
6667 /// Uploads data async from an URL and returns the response
@@ -69,7 +70,7 @@ public interface IClient : IDisposable
6970 /// <param name="body">The Body-Data (most likely a JSON String)</param>
7071 /// <param name="method">The Upload-method (POST,DELETE,PUT)</param>
7172 /// <returns></returns>
72- Task < string > UploadAsync ( string url , string body , string method ) ;
73+ Task < Tuple < ResponseInfo , string > > UploadAsync ( string url , string body , string method ) ;
7374
7475 /// <summary>
7576 /// Uploads data from an URL and returns the response
@@ -78,7 +79,7 @@ public interface IClient : IDisposable
7879 /// <param name="body">The Body-Data (most likely a JSON String)</param>
7980 /// <param name="method">The Upload-method (POST,DELETE,PUT)</param>
8081 /// <returns></returns>
81- byte [ ] UploadRaw ( string url , string body , string method ) ;
82+ Tuple < ResponseInfo , byte [ ] > UploadRaw ( string url , string body , string method ) ;
8283
8384 /// <summary>
8485 /// Uploads data async from an URL and returns the response
@@ -87,7 +88,7 @@ public interface IClient : IDisposable
8788 /// <param name="body">The Body-Data (most likely a JSON String)</param>
8889 /// <param name="method">The Upload-method (POST,DELETE,PUT)</param>
8990 /// <returns></returns>
90- Task < byte [ ] > UploadRawAsync ( string url , string body , string method ) ;
91+ Task < Tuple < ResponseInfo , byte [ ] > > UploadRawAsync ( string url , string body , string method ) ;
9192
9293 /// <summary>
9394 /// Uploads data from an URL and converts the response to an object
@@ -97,7 +98,7 @@ public interface IClient : IDisposable
9798 /// <param name="body">The Body-Data (most likely a JSON String)</param>
9899 /// <param name="method">The Upload-method (POST,DELETE,PUT)</param>
99100 /// <returns></returns>
100- T UploadJson < T > ( string url , string body , string method ) ;
101+ Tuple < ResponseInfo , T > UploadJson < T > ( string url , string body , string method ) ;
101102
102103 /// <summary>
103104 /// Uploads data async from an URL and converts the response to an object
@@ -107,7 +108,7 @@ public interface IClient : IDisposable
107108 /// <param name="body">The Body-Data (most likely a JSON String)</param>
108109 /// <param name="method">The Upload-method (POST,DELETE,PUT)</param>
109110 /// <returns></returns>
110- Task < T > UploadJsonAsync < T > ( string url , string body , string method ) ;
111+ Task < Tuple < ResponseInfo , T > > UploadJsonAsync < T > ( string url , string body , string method ) ;
111112
112113 /// <summary>
113114 /// Sets a specific Header
0 commit comments