1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-28 23:07:13 -04:00
Files
Radarr/src/NzbDrone.Core/Rest/RestClientFactory.cs
T
Петр Шургалин 1e4bdcc324 Fixed: RestClient does not use global proxy settings
Co-Authored-By: Petr Shurgalin <pshurgal@users.noreply.github.com>
Co-Authored-By: taloth <taloth@users.noreply.github.com>
2020-02-25 22:32:16 -05:00

35 lines
1.1 KiB
C#

using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Http.Proxy;
using RestSharp;
namespace NzbDrone.Core.Rest
{
public class RestClientFactory : IRestClientFactory
{
private readonly IHttpProxySettingsProvider _httpProxySettingsProvider;
private readonly ICreateManagedWebProxy _createManagedWebProxy;
public RestClientFactory(IHttpProxySettingsProvider httpProxySettingsProvider, ICreateManagedWebProxy createManagedWebProxy)
{
_httpProxySettingsProvider = httpProxySettingsProvider;
_createManagedWebProxy = createManagedWebProxy;
}
public RestClient BuildClient(string baseUrl)
{
var restClient = new RestClient(baseUrl)
{
UserAgent = $"{BuildInfo.AppName}/{BuildInfo.Version} ({OsInfo.Os})"
};
var proxySettings = _httpProxySettingsProvider.GetProxySettings();
if (proxySettings != null)
{
restClient.Proxy = _createManagedWebProxy.GetWebProxy(proxySettings);
}
return restClient;
}
}
}