mirror of
				https://github.com/JKorf/CryptoExchange.Net
				synced 2025-10-28 00:48:40 +00:00 
			
		
		
		
	Small changes for options
This commit is contained in:
		
							parent
							
								
									c792bc25b6
								
							
						
					
					
						commit
						0c6e74911d
					
				| @ -70,7 +70,7 @@ namespace CryptoExchange.Net.Authentication | ||||
|         public virtual ApiCredentials Copy() | ||||
|         { | ||||
|             if (PrivateKey == null) | ||||
|                 return new ApiCredentials(Key!.GetString(), Secret!.GetString()); | ||||
|                 return new ApiCredentials(Key!, Secret!); | ||||
|             else | ||||
|                 return new ApiCredentials(PrivateKey!.Copy()); | ||||
|         } | ||||
|  | ||||
| @ -12,6 +12,7 @@ namespace CryptoExchange.Net | ||||
|         private ApiCredentials? _apiCredentials; | ||||
|         private AuthenticationProvider? _authenticationProvider; | ||||
|         private bool _created; | ||||
|         private bool _disposing; | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// The authentication provider for this API client. (null if no credentials are set) | ||||
| @ -20,7 +21,7 @@ namespace CryptoExchange.Net | ||||
|         { | ||||
|             get  | ||||
|             { | ||||
|                 if (!_created && _apiCredentials != null) | ||||
|                 if (!_created && !_disposing && _apiCredentials != null) | ||||
|                 { | ||||
|                     _authenticationProvider = CreateAuthenticationProvider(_apiCredentials); | ||||
|                     _created = true; | ||||
| @ -62,7 +63,7 @@ namespace CryptoExchange.Net | ||||
|         /// <inheritdoc /> | ||||
|         public void SetApiCredentials(ApiCredentials credentials) | ||||
|         { | ||||
|             _apiCredentials = credentials; | ||||
|             _apiCredentials = credentials?.Copy(); | ||||
|             _created = false; | ||||
|             _authenticationProvider = null; | ||||
|         } | ||||
| @ -72,6 +73,8 @@ namespace CryptoExchange.Net | ||||
|         /// </summary> | ||||
|         public void Dispose() | ||||
|         { | ||||
|             _disposing = true; | ||||
|             _apiCredentials?.Dispose(); | ||||
|             AuthenticationProvider?.Credentials?.Dispose(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @ -260,7 +260,7 @@ namespace CryptoExchange.Net.Objects | ||||
|         /// </summary> | ||||
|         /// <param name="baseOptions">Copy values for the provided options</param> | ||||
| #pragma warning disable 8618 // Will always get filled by the provided options | ||||
|         public ApiClientOptions(ApiClientOptions baseOptions, RestApiClientOptions? newValues) | ||||
|         public ApiClientOptions(ApiClientOptions baseOptions, ApiClientOptions? newValues) | ||||
|         { | ||||
|             BaseAddress = newValues?.BaseAddress ?? baseOptions.BaseAddress; | ||||
|             ApiCredentials = newValues?.ApiCredentials?.Copy() ?? baseOptions.ApiCredentials?.Copy(); | ||||
| @ -318,7 +318,7 @@ namespace CryptoExchange.Net.Objects | ||||
|         /// ctor | ||||
|         /// </summary> | ||||
|         /// <param name="baseOn">Copy values for the provided options</param> | ||||
|         public RestApiClientOptions(RestApiClientOptions baseOn, RestApiClientOptions newValues): base(baseOn, newValues) | ||||
|         public RestApiClientOptions(RestApiClientOptions baseOn, RestApiClientOptions? newValues): base(baseOn, newValues) | ||||
|         { | ||||
|             RateLimitingBehaviour = newValues?.RateLimitingBehaviour ?? baseOn.RateLimitingBehaviour; | ||||
|             AutoTimestamp = newValues?.AutoTimestamp ?? baseOn.AutoTimestamp; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user