Fixed: Correctly use FlareSolverr User Agent

pull/1090/head
Qstick 3 years ago
parent fd88f44865
commit 4473551182

@ -234,6 +234,7 @@ namespace NzbDrone.Common.Http.Dispatchers
webRequest.Headers.TransferEncoding.ParseAdd(header.Value); webRequest.Headers.TransferEncoding.ParseAdd(header.Value);
break; break;
case "User-Agent": case "User-Agent":
webRequest.Headers.UserAgent.Clear();
webRequest.Headers.UserAgent.ParseAdd(header.Value); webRequest.Headers.UserAgent.ParseAdd(header.Value);
break; break;
case "Proxy-Connection": case "Proxy-Connection":

@ -112,9 +112,9 @@ namespace NzbDrone.Core.IndexerProxies.FlareSolverr
} }
else if (request.Method == HttpMethod.Post) else if (request.Method == HttpMethod.Post)
{ {
var contentTypeType = request.Headers.ContentType; var contentTypeType = request.Headers.ContentType.ToLower() ?? "<null>";
if (contentTypeType == "application/x-www-form-urlencoded") if (contentTypeType.Contains("application/x-www-form-urlencoded"))
{ {
var contentTypeValue = request.Headers.ContentType.ToString(); var contentTypeValue = request.Headers.ContentType.ToString();
var postData = request.GetContent(); var postData = request.GetContent();
@ -133,7 +133,8 @@ namespace NzbDrone.Core.IndexerProxies.FlareSolverr
UserAgent = userAgent UserAgent = userAgent
}; };
} }
else if (contentTypeType.Contains("multipart/form-data")) else if (contentTypeType.Contains("multipart/form-data")
|| contentTypeType.Contains("text/html"))
{ {
//TODO Implement - check if we just need to pass the content-type with the relevant headers //TODO Implement - check if we just need to pass the content-type with the relevant headers
throw new FlareSolverrException("Unimplemented POST Content-Type: " + request.Headers.ContentType); throw new FlareSolverrException("Unimplemented POST Content-Type: " + request.Headers.ContentType);
@ -153,9 +154,10 @@ namespace NzbDrone.Core.IndexerProxies.FlareSolverr
newRequest.Headers.ContentType = "application/json"; newRequest.Headers.ContentType = "application/json";
newRequest.Method = HttpMethod.Post; newRequest.Method = HttpMethod.Post;
newRequest.LogResponseContent = true;
newRequest.SetContent(req.ToJson()); newRequest.SetContent(req.ToJson());
_logger.Debug("Applying FlareSolverr Proxy {0} to request {1}", Name, request.Url); _logger.Debug("Cloudflare Detected, Applying FlareSolverr Proxy {0} to request {1}", Name, request.Url);
return newRequest; return newRequest;
} }

Loading…
Cancel
Save