/// <summary> /// Detect settings for Parser, based on URL /// </summary> /// <param name="settings">Indexer Settings to use for Parser</param> /// <returns>Parsed Settings or <c>null</c></returns> public TorrentRssIndexerParserSettings Detect(TorrentRssIndexerSettings indexerSettings) { _logger.Debug("Evaluating TorrentRss feed '{0}'", indexerSettings.BaseUrl); try { var requestGenerator = new TorrentRssIndexerRequestGenerator { Settings = indexerSettings }; var request = requestGenerator.GetRecentRequests().GetAllTiers().First().First(); HttpResponse httpResponse = null; try { httpResponse = _httpClient.Execute(request.HttpRequest); } catch (Exception ex) { _logger.Warn(ex, string.Format("Unable to connect to indexer {0}: {1}", request.Url, ex.Message)); return(null); } var indexerResponse = new IndexerResponse(request, httpResponse); return(GetParserSettings(indexerResponse, indexerSettings)); } catch (Exception ex) { ex.WithData("FeedUrl", indexerSettings.BaseUrl); throw; } }
/// <summary> /// Detect settings for Parser, based on URL /// </summary> /// <param name="settings">Indexer Settings to use for Parser</param> /// <returns>Parsed Settings or <c>null</c></returns> public TorrentRssIndexerParserSettings Detect(TorrentRssIndexerSettings indexerSettings) { _logger.Debug("Evaluating TorrentRss feed '{0}'", indexerSettings.BaseUrl); var requestGenerator = new TorrentRssIndexerRequestGenerator { Settings = indexerSettings }; var request = requestGenerator.GetRecentRequests().GetAllTiers().First().First(); HttpResponse httpResponse = null; try { httpResponse = _httpClient.Execute(request.HttpRequest); } catch (Exception ex) { _logger.Warn(ex, string.Format("Unable to connect to indexer {0}: {1}", request.Url, ex.Message)); return null; } var indexerResponse = new IndexerResponse(request, httpResponse); return GetParserSettings(indexerResponse, indexerSettings); }