diff --git a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequest.cs b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequest.cs index 77b07ffdc..e9115cdc1 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequest.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequest.cs @@ -8,7 +8,13 @@ namespace NzbDrone.Core.Indexers.Cardigann public Dictionary Variables { get; private set; } public CardigannRequest(string url, HttpAccept httpAccept, Dictionary variables) - : base(url, httpAccept) + : base(url, httpAccept) + { + Variables = variables; + } + + public CardigannRequest(HttpRequest httpRequest, Dictionary variables) + : base(httpRequest) { Variables = variables; } diff --git a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequestGenerator.cs index eea4efcba..16230b620 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannRequestGenerator.cs @@ -933,7 +933,20 @@ namespace NzbDrone.Core.Indexers.Cardigann _logger.Info($"Adding request: {searchUrl}"); - var request = new CardigannRequest(searchUrl, HttpAccept.Html, variables); + var requestbuilder = new HttpRequestBuilder(searchUrl); + + requestbuilder.Method = method; + + // Add FormData for searchs that POST + if (method == HttpMethod.POST) + { + foreach (var param in queryCollection) + { + requestbuilder.AddFormParameter(param.Key, param.Value); + } + } + + var request = new CardigannRequest(requestbuilder.Build(), variables); // send HTTP request if (search.Headers != null) @@ -944,8 +957,6 @@ namespace NzbDrone.Core.Indexers.Cardigann } } - request.HttpRequest.Method = method; - yield return request; } }