protected BaseClient(ILog log, ExchangeProxySettings settings = null) { Log = log; if (settings?.Host == null) { httpClient = new HttpClient(); } else { httpClient = new HttpClient(new HttpClientHandler { Proxy = new WebProxy($"{settings.Host}:{settings.Port}", true, new string [0], new NetworkCredential(settings.User, settings.Password)) }); } }
private IEnumerable <FlexScheduler> GetSchedulers(ExchangeProxySettings proxySettings) { var service = new BlocktraderService(log, proxySettings); foreach (var exchange in new [] { ExchangeTitle.Binance, ExchangeTitle.Bitfinex, ExchangeTitle.Bitstamp }) { var thisLog = log.ForContext(exchange.ToString()); async Task <TimeSpan> DownloadTradesAsync() { var trades = await service.GetCurrentTradeListsAsync(exchange, Ticker.BtcUsd) .ConfigureAwait(false); var(filtered, timeSpan) = FilterTrades(exchange, trades, thisLog); queues[exchange].Enqueue(filtered); return(timeSpan); } yield return(new FlexScheduler(DownloadTradesAsync, thisLog)); } }
public BitstampClient(ILog log, ExchangeProxySettings settings = null) : base(log, settings) { }