1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-10-06 03:11:11 +00:00

Fix for proxy when not using DI

This commit is contained in:
JKorf
2023-07-23 10:01:13 +02:00
parent 3cbe0465e9
commit f11b3754f0
3 changed files with 25 additions and 6 deletions
+21 -4
View File
@@ -1,8 +1,10 @@
using System;
using System.Net;
using System.Net.Http;
using System.Runtime.InteropServices;
using CryptoExchange.Net.Interfaces;
using CryptoExchange.Net.Objects;
using CryptoExchange.Net.Objects.Options;
namespace CryptoExchange.Net.Requests
{
@@ -14,12 +16,27 @@ namespace CryptoExchange.Net.Requests
private HttpClient? _httpClient;
/// <inheritdoc />
public void Configure(TimeSpan requestTimeout, HttpClient? client = null)
public void Configure(ApiProxy? proxy, TimeSpan requestTimeout, HttpClient? client = null)
{
_httpClient = client ?? new HttpClient()
if (client == null)
{
Timeout = requestTimeout
};
var handler = new HttpClientHandler();
if (proxy != null)
{
handler.Proxy = new WebProxy
{
Address = new Uri($"{proxy.Host}:{proxy.Port}"),
Credentials = proxy.Password == null ? null : new NetworkCredential(proxy.Login, proxy.Password)
};
}
client = new HttpClient(handler)
{
Timeout = requestTimeout
};
}
_httpClient = client;
}
/// <inheritdoc />