diff --git a/CryptoExchange.Net.UnitTests/TestImplementations/TestRestClient.cs b/CryptoExchange.Net.UnitTests/TestImplementations/TestRestClient.cs
index 3fffc33..535702a 100644
--- a/CryptoExchange.Net.UnitTests/TestImplementations/TestRestClient.cs
+++ b/CryptoExchange.Net.UnitTests/TestImplementations/TestRestClient.cs
@@ -122,7 +122,7 @@ namespace CryptoExchange.Net.UnitTests.TestImplementations
}
- public override AuthenticationProvider CreateAuthenticationProvider(ApiCredentials credentials)
+ protected override AuthenticationProvider CreateAuthenticationProvider(ApiCredentials credentials)
=> new TestAuthProvider(credentials);
}
@@ -133,7 +133,7 @@ namespace CryptoExchange.Net.UnitTests.TestImplementations
}
- public override AuthenticationProvider CreateAuthenticationProvider(ApiCredentials credentials)
+ protected override AuthenticationProvider CreateAuthenticationProvider(ApiCredentials credentials)
=> new TestAuthProvider(credentials);
}
diff --git a/CryptoExchange.Net.UnitTests/TestImplementations/TestSocketClient.cs b/CryptoExchange.Net.UnitTests/TestImplementations/TestSocketClient.cs
index 0da2f13..27db16e 100644
--- a/CryptoExchange.Net.UnitTests/TestImplementations/TestSocketClient.cs
+++ b/CryptoExchange.Net.UnitTests/TestImplementations/TestSocketClient.cs
@@ -81,7 +81,7 @@ namespace CryptoExchange.Net.UnitTests.TestImplementations
}
- public override AuthenticationProvider CreateAuthenticationProvider(ApiCredentials credentials)
+ protected override AuthenticationProvider CreateAuthenticationProvider(ApiCredentials credentials)
=> new TestAuthProvider(credentials);
}
}
diff --git a/CryptoExchange.Net/Clients/BaseApiClient.cs b/CryptoExchange.Net/Clients/BaseApiClient.cs
index cd4a29b..639b4fc 100644
--- a/CryptoExchange.Net/Clients/BaseApiClient.cs
+++ b/CryptoExchange.Net/Clients/BaseApiClient.cs
@@ -49,7 +49,7 @@ namespace CryptoExchange.Net
///
/// Client options
/// Api client options
- public BaseApiClient(BaseClientOptions options, ApiClientOptions apiOptions)
+ protected BaseApiClient(BaseClientOptions options, ApiClientOptions apiOptions)
{
_apiCredentials = apiOptions.ApiCredentials ?? options.ApiCredentials;
BaseAddress = apiOptions.BaseAddress;
@@ -60,7 +60,7 @@ namespace CryptoExchange.Net
///
///
///
- public abstract AuthenticationProvider CreateAuthenticationProvider(ApiCredentials credentials);
+ protected abstract AuthenticationProvider CreateAuthenticationProvider(ApiCredentials credentials);
///
/// Dispose
diff --git a/CryptoExchange.Net/Clients/BaseSocketClient.cs b/CryptoExchange.Net/Clients/BaseSocketClient.cs
index 36a79e0..0013032 100644
--- a/CryptoExchange.Net/Clients/BaseSocketClient.cs
+++ b/CryptoExchange.Net/Clients/BaseSocketClient.cs
@@ -393,7 +393,7 @@ namespace CryptoExchange.Net
/// The received data
/// The subscription request
/// True if the message is for the subscription which sent the request
- protected internal abstract bool MessageMatchesHandler(JToken message, object request);
+ protected internal abstract bool MessageMatchesHandler(SocketConnection socketConnection, JToken message, object request);
///
/// Needs to check if a received message matches a handler by identifier. Generally used by GenericHandlers. For example; a generic handler is registered which handles ping messages
/// from the server. This method should check if the message received is a ping message and the identifer is the identifier of the GenericHandler
@@ -401,7 +401,7 @@ namespace CryptoExchange.Net
/// The received data
/// The string identifier of the handler
/// True if the message is for the handler which has the identifier
- protected internal abstract bool MessageMatchesHandler(JToken message, string identifier);
+ protected internal abstract bool MessageMatchesHandler(SocketConnection socketConnection, JToken message, string identifier);
///
/// Needs to authenticate the socket so authenticated queries/subscriptions can be made on this socket connection
///
diff --git a/CryptoExchange.Net/Sockets/SocketConnection.cs b/CryptoExchange.Net/Sockets/SocketConnection.cs
index e817f20..db639a1 100644
--- a/CryptoExchange.Net/Sockets/SocketConnection.cs
+++ b/CryptoExchange.Net/Sockets/SocketConnection.cs
@@ -258,7 +258,7 @@ namespace CryptoExchange.Net.Sockets
currentSubscription = subscription;
if (subscription.Request == null)
{
- if (socketClient.MessageMatchesHandler(messageEvent.JsonData, subscription.Identifier!))
+ if (socketClient.MessageMatchesHandler(this, messageEvent.JsonData, subscription.Identifier!))
{
handled = true;
subscription.MessageHandler(messageEvent);
@@ -266,7 +266,7 @@ namespace CryptoExchange.Net.Sockets
}
else
{
- if (socketClient.MessageMatchesHandler(messageEvent.JsonData, subscription.Request))
+ if (socketClient.MessageMatchesHandler(this, messageEvent.JsonData, subscription.Request))
{
handled = true;
messageEvent.JsonData = socketClient.ProcessTokenData(messageEvent.JsonData);