1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-22 22:15:17 -04:00

New: Will now provider a clearer error if the indexer returned unexpected html content (indicating a blocked site) instead of failing with a parser error.

This commit is contained in:
Taloth Saldono
2014-09-12 21:21:03 +02:00
parent 82061cf5a0
commit 70fc927e9f
2 changed files with 19 additions and 8 deletions
@@ -24,11 +24,11 @@ namespace NzbDrone.Core.Indexers
public class FetchFeedService : IFetchFeedFromIndexers
{
private readonly Logger _logger;
private readonly IHttpProvider _httpProvider;
private readonly IHttpClient _httpClient;
public FetchFeedService(IHttpProvider httpProvider, Logger logger)
public FetchFeedService(IHttpClient httpClient, Logger logger)
{
_httpProvider = httpProvider;
_httpClient = httpClient;
_logger = logger;
}
@@ -140,7 +140,16 @@ namespace NzbDrone.Core.Indexers
try
{
_logger.Debug("Downloading Feed " + url);
var xml = _httpProvider.DownloadString(url);
var request = new HttpRequest(url);
request.Headers.Accept = "text/xml, text/rss+xml, application/rss+xml";
var response = _httpClient.Get(request);
if (response.Headers.ContentType != null && response.Headers.ContentType.Split(';')[0] == "text/html")
{
throw new WebException("Indexer responded with html content. Site is likely blocked or unavailable.");
}
var xml = response.Content;
if (!string.IsNullOrWhiteSpace(xml))
{
result.AddRange(indexer.Parser.Process(xml, url));