1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-17 11:23:00 +00:00
This commit is contained in:
JKorf
2019-10-20 13:36:38 +02:00
parent 8ec902951d
commit b2b5b0fef0
28 changed files with 819 additions and 237 deletions
+7 -5
View File
@@ -40,7 +40,7 @@ namespace CryptoExchange.Net.Objects
/// <param name="obj"></param>
public static implicit operator bool(CallResult<T> obj)
{
return !ReferenceEquals(obj, null) && obj.Success;
return obj?.Success == true;
}
}
@@ -67,7 +67,9 @@ namespace CryptoExchange.Net.Objects
/// <param name="responseHeaders"></param>
/// <param name="data"></param>
/// <param name="error"></param>
public WebCallResult(HttpStatusCode? code, IEnumerable<KeyValuePair<string, IEnumerable<string>>>? responseHeaders, [AllowNull] T data, Error? error): base(data, error)
public WebCallResult(
HttpStatusCode? code,
IEnumerable<KeyValuePair<string, IEnumerable<string>>>? responseHeaders, [AllowNull] T data, Error? error): base(data, error)
{
ResponseHeaders = responseHeaders;
ResponseStatusCode = code;
@@ -80,7 +82,7 @@ namespace CryptoExchange.Net.Objects
/// <returns></returns>
public static WebCallResult<T> CreateErrorResult(Error error)
{
return new WebCallResult<T>(null, null, default, error);
return new WebCallResult<T>(null, null, default!, error);
}
/// <summary>
@@ -90,9 +92,9 @@ namespace CryptoExchange.Net.Objects
/// <param name="responseHeaders"></param>
/// <param name="error"></param>
/// <returns></returns>
public static WebCallResult<T> CreateErrorResult(HttpStatusCode? code, IEnumerable<KeyValuePair<string, IEnumerable<string>>> responseHeaders, Error error)
public static WebCallResult<T> CreateErrorResult(HttpStatusCode? code, IEnumerable<KeyValuePair<string, IEnumerable<string>>>? responseHeaders, Error error)
{
return new WebCallResult<T>(code, responseHeaders, default, error);
return new WebCallResult<T>(code, responseHeaders, default!, error);
}
}
}
+24 -15
View File
@@ -14,15 +14,22 @@
/// </summary>
public string Message { get; set; }
/// <summary>
/// Optional data for the error
/// </summary>
public object? Data { get; set; }
/// <summary>
/// ctor
/// </summary>
/// <param name="code"></param>
/// <param name="message"></param>
protected Error(int code, string message)
/// <param name="data"></param>
protected Error(int code, string message, object? data)
{
Code = code;
Message = message;
Data = data;
}
/// <summary>
@@ -31,7 +38,7 @@
/// <returns></returns>
public override string ToString()
{
return $"{Code}: {Message}";
return $"{Code}: {Message} {Data}";
}
}
@@ -43,7 +50,7 @@
/// <summary>
/// ctor
/// </summary>
public CantConnectError() : base(1, "Can't connect to the server") { }
public CantConnectError() : base(1, "Can't connect to the server", null) { }
}
/// <summary>
@@ -54,7 +61,7 @@
/// <summary>
/// ctor
/// </summary>
public NoApiCredentialsError() : base(2, "No credentials provided for private endpoint") { }
public NoApiCredentialsError() : base(2, "No credentials provided for private endpoint", null) { }
}
/// <summary>
@@ -66,14 +73,16 @@
/// ctor
/// </summary>
/// <param name="message"></param>
public ServerError(string message) : base(3, "Server error: " + message) { }
/// <param name="data"></param>
public ServerError(string message, object? data = null) : base(3, "Server error: " + message, data) { }
/// <summary>
/// ctor
/// </summary>
/// <param name="code"></param>
/// <param name="message"></param>
public ServerError(int code, string message) : base(code, message)
/// <param name="data"></param>
public ServerError(int code, string message, object? data = null) : base(code, message, data)
{
}
}
@@ -86,8 +95,8 @@
/// <summary>
/// ctor
/// </summary>
/// <param name="message"></param>
public WebError(string message) : base(4, "Web error: " + message) { }
/// <param name="data"></param>
public WebError(object? data) : base(4, "Web error", data) { }
}
/// <summary>
@@ -98,8 +107,8 @@
/// <summary>
/// ctor
/// </summary>
/// <param name="message"></param>
public DeserializeError(string message) : base(5, "Error deserializing data: " + message) { }
/// <param name="data">Deserializing data</param>
public DeserializeError(object? data) : base(5, "Error deserializing data", data) { }
}
/// <summary>
@@ -110,8 +119,8 @@
/// <summary>
/// ctor
/// </summary>
/// <param name="message"></param>
public UnknownError(string message) : base(6, "Unknown error occured " + message) { }
/// <param name="data">Error data</param>
public UnknownError(object? data = null) : base(6, "Unknown error occured", data) { }
}
/// <summary>
@@ -123,7 +132,7 @@
/// ctor
/// </summary>
/// <param name="message"></param>
public ArgumentError(string message) : base(7, "Invalid parameter: " + message) { }
public ArgumentError(string message) : base(7, "Invalid parameter: " + message, null) { }
}
/// <summary>
@@ -135,7 +144,7 @@
/// ctor
/// </summary>
/// <param name="message"></param>
public RateLimitError(string message) : base(8, "Rate limit exceeded: " + message) { }
public RateLimitError(string message) : base(8, "Rate limit exceeded: " + message, null) { }
}
/// <summary>
@@ -146,6 +155,6 @@
/// <summary>
/// ctor
/// </summary>
public CancellationRequestedError() : base(9, "Cancellation requested") { }
public CancellationRequestedError() : base(9, "Cancellation requested", null) { }
}
}
+2 -2
View File
@@ -153,7 +153,7 @@ namespace CryptoExchange.Net.Objects
/// <inheritdoc />
public override string ToString()
{
return $"{base.ToString()}, RateLimitters: {RateLimiters.Count}, RateLimitBehaviour: {RateLimitingBehaviour}, RequestTimeout: {RequestTimeout.ToString("c")}";
return $"{base.ToString()}, RateLimiters: {RateLimiters.Count}, RateLimitBehaviour: {RateLimitingBehaviour}, RequestTimeout: {RequestTimeout:c}";
}
}
@@ -223,7 +223,7 @@ namespace CryptoExchange.Net.Objects
/// <inheritdoc />
public override string ToString()
{
return $"{base.ToString()}, AutoReconnect: {AutoReconnect}, ReconnectInterval: {ReconnectInterval}, SocketResponseTimeout: {SocketResponseTimeout.ToString("c")}, SocketSubscriptionsCombineTarget: {SocketSubscriptionsCombineTarget}";
return $"{base.ToString()}, AutoReconnect: {AutoReconnect}, ReconnectInterval: {ReconnectInterval}, SocketResponseTimeout: {SocketResponseTimeout:c}, SocketSubscriptionsCombineTarget: {SocketSubscriptionsCombineTarget}";
}
}
}