From ed7c5a937f4b50fcdf819e8fe347c8c0bc6bd2e7 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 12 Jun 2021 16:24:48 -0400 Subject: [PATCH] Fixed: Correctly handle 302 and 303 redirects in HttpClient Fixes #204 --- src/NzbDrone.Common/Http/HttpClient.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/NzbDrone.Common/Http/HttpClient.cs b/src/NzbDrone.Common/Http/HttpClient.cs index 8a912c473..2e8f7530f 100644 --- a/src/NzbDrone.Common/Http/HttpClient.cs +++ b/src/NzbDrone.Common/Http/HttpClient.cs @@ -84,6 +84,13 @@ namespace NzbDrone.Common.Http throw new WebException($"Too many automatic redirections were attempted for {autoRedirectChain.Join(" -> ")}", WebExceptionStatus.ProtocolError); } + // 302 or 303 should default to GET on redirect even if POST on original + if (response.StatusCode == HttpStatusCode.Redirect || response.StatusCode == HttpStatusCode.RedirectMethod) + { + request.Method = HttpMethod.GET; + request.ContentData = null; + } + response = await ExecuteRequestAsync(request, cookieContainer); } while (response.HasHttpRedirect);