using CryptoExchange.Net.Authentication;
using System;
namespace CryptoExchange.Net.Objects.Options
{
///
/// Exchange options
///
public class ExchangeOptions
{
///
/// Proxy settings
///
public ApiProxy? Proxy { get; set; }
///
/// If true, the CallResult and DataEvent objects will also include the originally received json data in the OriginalData property
///
public bool OutputOriginalData { get; set; } = false;
///
/// The max time a request is allowed to take
///
public TimeSpan RequestTimeout { get; set; } = TimeSpan.FromSeconds(20);
///
/// The api credentials used for signing requests to this API.
///
public ApiCredentials? ApiCredentials { get; set; }
///
/// Whether or not client side rate limiting should be applied
///
public bool RateLimiterEnabled { get; set; } = true;
///
/// What should happen when a rate limit is reached
///
public RateLimitingBehaviour RateLimitingBehaviour { get; set; } = RateLimitingBehaviour.Wait;
///
public override string ToString()
{
return $"RequestTimeout: {RequestTimeout}, Proxy: {(Proxy == null ? "-" : "set")}, ApiCredentials: {(ApiCredentials == null ? "-" : "set")}";
}
}
}