Skip to content

Commit b449d53

Browse files
Merge pull request #81 from jellyfin/linq-null-ref
Fix more null refs
2 parents 51b5fd0 + f8c27c4 commit b449d53

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

Diff for: Jellyfin.Plugin.Anime/Providers/KitsuIO/ApiClient/ApiModel.cs

+5-4
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@ public class Titles
6161

6262
public bool Equal(string title)
6363
{
64-
return En.Equals(title) ||
65-
EnUs.Equals(title) ||
66-
EnJp.Equals(title) ||
67-
JaJp.Equals(title);
64+
return
65+
(En?.Equals(title) ?? false) ||
66+
(EnUs?.Equals(title) ?? false) ||
67+
(EnJp?.Equals(title) ?? false) ||
68+
(JaJp?.Equals(title) ?? false);
6869
}
6970
}
7071

Diff for: Jellyfin.Plugin.Anime/Providers/KitsuIO/ApiClient/KitsuIoApi.cs

+9-12
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,15 @@ public static async Task<ApiListResponse> Search_Series(Dictionary<string, strin
3232
{
3333
var filterString = string.Join("&",filters.Select(x => $"filter[{x.Key}]={x.Value}"));
3434
var pageString = "page[limit]=10";
35-
36-
var responseString = await _httpClient.GetStringAsync($"{_apiBaseUrl}/anime?{filterString}&{pageString}");
37-
var response = JsonSerializer.Deserialize<ApiListResponse>(responseString, _serializerOptions);
38-
return response;
35+
36+
var responseStream = await _httpClient.GetStreamAsync($"{_apiBaseUrl}/anime?{filterString}&{pageString}");
37+
return await JsonSerializer.DeserializeAsync<ApiListResponse>(responseStream, _serializerOptions);
3938
}
4039

4140
public static async Task<ApiResponse> Get_Series(string seriesId)
4241
{
43-
var responseString = await _httpClient.GetStringAsync($"{_apiBaseUrl}/anime/{seriesId}?include=genres");
44-
var response = JsonSerializer.Deserialize<ApiResponse>(responseString, _serializerOptions);
45-
return response;
42+
var responseStream = await _httpClient.GetStreamAsync($"{_apiBaseUrl}/anime/{seriesId}?include=genres");
43+
return await JsonSerializer.DeserializeAsync<ApiResponse>(responseStream, _serializerOptions);
4644
}
4745

4846
public static async Task<ApiListResponse> Get_Episodes(string seriesId)
@@ -54,8 +52,8 @@ public static async Task<ApiListResponse> Get_Episodes(string seriesId)
5452
for (long offset = 0; offset < episodeCount; offset += step)
5553
{
5654
var queryString = $"?filter[mediaId]={seriesId}&page[limit]={step}&page[offset]={offset}";
57-
var responseString = await _httpClient.GetStringAsync($"{_apiBaseUrl}/episodes{queryString}");
58-
var response = JsonSerializer.Deserialize<ApiListResponse>(responseString, _serializerOptions);
55+
var responseStream = await _httpClient.GetStreamAsync($"{_apiBaseUrl}/episodes{queryString}");
56+
var response = await JsonSerializer.DeserializeAsync<ApiListResponse>(responseStream, _serializerOptions);
5957

6058
episodeCount = response.Meta.Count.Value;
6159
result.Data.AddRange(response.Data);
@@ -67,9 +65,8 @@ public static async Task<ApiListResponse> Get_Episodes(string seriesId)
6765
public static async Task<ApiResponse> Get_Episode(string episodeId)
6866
{
6967
var filterString = $"/{episodeId}";
70-
var responseString = await _httpClient.GetStringAsync($"{_apiBaseUrl}/episodes{filterString}");
71-
var response = JsonSerializer.Deserialize<ApiResponse>(responseString, _serializerOptions);
72-
return response;
68+
var responseStream = await _httpClient.GetStreamAsync($"{_apiBaseUrl}/episodes{filterString}");
69+
return await JsonSerializer.DeserializeAsync<ApiResponse>(responseStream, _serializerOptions);
7370
}
7471
}
7572
}

0 commit comments

Comments
 (0)