From 3ca9b13f99a863fee2a2b335555311cc1e9665aa Mon Sep 17 00:00:00 2001 From: Gary Wilber Date: Sun, 27 Sep 2020 21:47:30 -0700 Subject: [PATCH 1/4] Check response status code before saving images --- MediaBrowser.Providers/Manager/ProviderManager.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index b6fb4267f4..6674ca6761 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -158,6 +158,14 @@ namespace MediaBrowser.Providers.Manager var httpClient = _httpClientFactory.CreateClient(NamedClient.Default); using var response = await httpClient.GetAsync(url, cancellationToken).ConfigureAwait(false); + if (response.StatusCode != HttpStatusCode.OK) + { + throw new HttpException($"Invalid image received ({response.StatusCode}).") + { + StatusCode = response.StatusCode + }; + } + var contentType = response.Content.Headers.ContentType.MediaType; // Workaround for tvheadend channel icons From 722ec43e258eb9e6af4c0cd09f68a4a969e50cc8 Mon Sep 17 00:00:00 2001 From: Gary Wilber Date: Sun, 27 Sep 2020 23:05:43 -0700 Subject: [PATCH 2/4] remove status code from exception message --- MediaBrowser.Providers/Manager/ProviderManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index 6674ca6761..a0c7d4ad09 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -160,7 +160,7 @@ namespace MediaBrowser.Providers.Manager if (response.StatusCode != HttpStatusCode.OK) { - throw new HttpException($"Invalid image received ({response.StatusCode}).") + throw new HttpException("Invalid image received.") { StatusCode = response.StatusCode }; From e9911b70ddfd9a9ee1f9b89579f5dbec154129a4 Mon Sep 17 00:00:00 2001 From: Gary Wilber Date: Mon, 28 Sep 2020 15:37:10 -0700 Subject: [PATCH 3/4] Use EnsureSuccessStatusCode --- MediaBrowser.Providers/Manager/ProviderManager.cs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index a0c7d4ad09..40fcf7d6f4 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -157,14 +157,7 @@ namespace MediaBrowser.Providers.Manager { var httpClient = _httpClientFactory.CreateClient(NamedClient.Default); using var response = await httpClient.GetAsync(url, cancellationToken).ConfigureAwait(false); - - if (response.StatusCode != HttpStatusCode.OK) - { - throw new HttpException("Invalid image received.") - { - StatusCode = response.StatusCode - }; - } + response.EnsureSuccessStatusCode(); var contentType = response.Content.Headers.ContentType.MediaType; From 25d8d85740f984f051cebc5db53466c17688c370 Mon Sep 17 00:00:00 2001 From: Gary Wilber Date: Tue, 29 Sep 2020 01:19:12 -0700 Subject: [PATCH 4/4] Back to HttpException --- MediaBrowser.Providers/Manager/ProviderManager.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index 40fcf7d6f4..a0c7d4ad09 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -157,7 +157,14 @@ namespace MediaBrowser.Providers.Manager { var httpClient = _httpClientFactory.CreateClient(NamedClient.Default); using var response = await httpClient.GetAsync(url, cancellationToken).ConfigureAwait(false); - response.EnsureSuccessStatusCode(); + + if (response.StatusCode != HttpStatusCode.OK) + { + throw new HttpException("Invalid image received.") + { + StatusCode = response.StatusCode + }; + } var contentType = response.Content.Headers.ContentType.MediaType;