Fixed: Lidarr Lists use correct metadata server (#800)

This commit is contained in:
Qstick
2019-05-07 19:11:34 -04:00
committed by GitHub
parent 35c19dac5f
commit add32ff9f3
8 changed files with 116 additions and 45 deletions
@@ -0,0 +1,37 @@
using NzbDrone.Common.Cloud;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration;
namespace NzbDrone.Core.MetadataSource
{
public interface IMetadataRequestBuilder
{
IHttpRequestBuilderFactory GetRequestBuilder();
}
public class MetadataRequestBuilder : IMetadataRequestBuilder
{
private readonly IConfigService _configService;
private readonly ILidarrCloudRequestBuilder _defaultRequestFactory;
public MetadataRequestBuilder(IConfigService configService, ILidarrCloudRequestBuilder defaultRequestBuilder)
{
_configService = configService;
_defaultRequestFactory = defaultRequestBuilder;
}
public IHttpRequestBuilderFactory GetRequestBuilder()
{
if (_configService.MetadataSource.IsNotNullOrWhiteSpace())
{
return new HttpRequestBuilder(_configService.MetadataSource.TrimEnd("/") + "/{route}").CreateFactory();
}
else
{
return _defaultRequestFactory.Search;
}
}
}
}