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")}"; } } }