11using System . Net ;
22using System . Net . Http . Headers ;
3+ using System . Net . Http . Json ;
34using System . Text ;
45using System . Text . Json ;
56using System . Web ;
@@ -37,7 +38,7 @@ public FileList(string username, string passkey)
3738 /// </example>
3839 /// <exception cref="Exception">If the API returns an error or rate limit is reached</exception>
3940 /// <returns>FileListTorrent</returns>
40- public async Task < List < FileListTorrent > ? > SearchAsync ( FileListSearchParams searchParams )
41+ public async Task < List < FileListTorrent > > SearchAsync ( FileListSearchParams searchParams )
4142 {
4243 var parameters = new StringBuilder ( searchParams . ToString ( ) ) ;
4344 parameters . Append ( "&action=search-torrents&output=json" ) ;
@@ -56,14 +57,14 @@ public FileList(string username, string passkey)
5657 /// </example>
5758 /// <exception cref="Exception">If the API returns an error or rate limit is reached</exception>
5859 /// <returns>FileListTorrent</returns>
59- public async Task < List < FileListTorrent > ? > LatestAsync ( FileListLatestParams searchParams )
60+ public async Task < List < FileListTorrent > > LatestAsync ( FileListLatestParams searchParams )
6061 {
6162 var parameters = new StringBuilder ( searchParams . ToString ( ) ) ;
6263 parameters . Append ( "&action=latest-torrents&output=json" ) ;
6364 return await _Query ( parameters . ToString ( ) ) ;
6465 }
6566
66- private async Task < List < FileListTorrent > ? > _Query ( string parameters )
67+ private async Task < List < FileListTorrent > > _Query ( string parameters )
6768 {
6869 var url = $ "{ ApiUrl } ?{ HttpUtility . UrlDecode ( parameters ) } ";
6970 var response = await _client . GetAsync ( url ) ;
@@ -74,13 +75,13 @@ public FileList(string username, string passkey)
7475 throw new Exception ( "Rate limit reached, try again later." ) ;
7576 }
7677
77- var error = JsonSerializer . Deserialize < FileListError > ( await response . Content . ReadAsStringAsync ( ) ) ;
78+ var error = await response . Content . ReadFromJsonAsync < FileListError > ( ) ;
7879 throw new Exception ( $ "Failed to successfully query the API, error: { error . Error ?? "Unknown" } ") ;
7980 }
8081
81- var content = await response . Content . ReadAsStringAsync ( ) ;
82+ var content = await response . Content . ReadFromJsonAsync < List < FileListTorrent > > ( ) ;
8283
83- return JsonSerializer . Deserialize < List < FileListTorrent > > ( content ) ;
84+ return content ?? [ ] ;
8485 }
8586}
8687
0 commit comments