internal RequestOptions CloneWithConfig(SteamRestConfig config)
        {
            RequestOptions options = MemberwiseClone() as RequestOptions;

            if (options.RequestTimeout <= 0)
            {
                options.RequestTimeout = config.DefaultRequestTimeout;
            }

            if (options.RetryMode == RetryMode.UseDefault)
            {
                options.RetryMode = config.DefaultRetryMode;
            }

            return(options);
        }
        public SteamRestClient(SteamRestConfig config) : base(config)
        {
            var cloneConfig = GetConfig <SteamRestConfig>();

            if (cloneConfig.RestClient != null)
            {
                var client = cloneConfig.RestClient();
                _client = client ?? new DefaultRestClient();
            }
            else
            {
                _client = new DefaultRestClient();
            }

            RestLog = LogManager.CreateLogger("REST");
        }