rename MessageSerializer to ApiMessageSerializer
This commit is contained in:
@@ -10,7 +10,7 @@ public class ApiClient(string apiUrl) : IApiClient
|
||||
|
||||
public string? AuthKey { get; set; }
|
||||
|
||||
public virtual IMessageSerializer Serializer { get; set; } = new DefaultMessageSerializer();
|
||||
public virtual IApiMessageSerializer Serializer { get; set; } = new DefaultApiMessageSerializer();
|
||||
|
||||
public ILogger Log { get; set; } = NullLogger.Instance;
|
||||
|
||||
@@ -24,7 +24,7 @@ public class ApiClient(string apiUrl) : IApiClient
|
||||
return SendRequest(route, message, null);
|
||||
}
|
||||
|
||||
public virtual async Task<ApiResponse> SendRequest(string route, ApiMessage? message, IMessageSerializer? serializer)
|
||||
public virtual async Task<ApiResponse> SendRequest(string route, ApiMessage? message, IApiMessageSerializer? serializer)
|
||||
{
|
||||
serializer ??= Serializer;
|
||||
|
||||
@@ -45,7 +45,7 @@ public class ApiClient(string apiUrl) : IApiClient
|
||||
return SendRequest<TResponse>(route, message, null);
|
||||
}
|
||||
|
||||
public virtual async Task<ApiResponse<TResponse>> SendRequest<TResponse>(string route, ApiMessage? message, IMessageSerializer? serializer) where TResponse : ApiMessage
|
||||
public virtual async Task<ApiResponse<TResponse>> SendRequest<TResponse>(string route, ApiMessage? message, IApiMessageSerializer? serializer) where TResponse : ApiMessage
|
||||
{
|
||||
serializer ??= Serializer;
|
||||
|
||||
@@ -60,7 +60,7 @@ public class ApiClient(string apiUrl) : IApiClient
|
||||
return new(res.StatusCode, result);
|
||||
}
|
||||
|
||||
protected virtual async Task<HttpResponseMessage> Send(string route, ApiMessage? message, IMessageSerializer serializer)
|
||||
protected virtual async Task<HttpResponseMessage> Send(string route, ApiMessage? message, IApiMessageSerializer serializer)
|
||||
{
|
||||
var url = ApiUrl + route;
|
||||
HttpContent content;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace Pilz.Net.Api;
|
||||
|
||||
[AttributeUsage(AttributeTargets.Method)]
|
||||
public class MessageHandlerAttribute(string route) : Attribute
|
||||
public class ApiMessageHandlerAttribute(string route) : Attribute
|
||||
{
|
||||
public string Route { get; set; } = route;
|
||||
public Type? Serializer { get; set; }
|
||||
@@ -9,7 +9,7 @@ namespace Pilz.Net.Api;
|
||||
public class ApiServer(string apiUrl) : IApiServer
|
||||
{
|
||||
protected readonly Dictionary<string, Delegate> handlers = [];
|
||||
protected readonly Dictionary<Type, IMessageSerializer> serializers = [];
|
||||
protected readonly Dictionary<Type, IApiMessageSerializer> serializers = [];
|
||||
protected readonly HttpListener httpListener = new();
|
||||
|
||||
public event OnCheckAuthenticationEventHandler? OnCheckAuthentication;
|
||||
@@ -20,7 +20,7 @@ public class ApiServer(string apiUrl) : IApiServer
|
||||
|
||||
public virtual bool EnableAuth { get; set; }
|
||||
|
||||
public IMessageSerializer Serializer { get; set; } = new DefaultMessageSerializer();
|
||||
public IApiMessageSerializer Serializer { get; set; } = new DefaultApiMessageSerializer();
|
||||
|
||||
public ILogger Log { get; set; } = NullLogger.Instance;
|
||||
|
||||
@@ -58,7 +58,7 @@ public class ApiServer(string apiUrl) : IApiServer
|
||||
var method = handler.Method;
|
||||
|
||||
// Sanity checks
|
||||
if (method.GetCustomAttribute<MessageHandlerAttribute>() is not MessageHandlerAttribute attribute
|
||||
if (method.GetCustomAttribute<ApiMessageHandlerAttribute>() is not ApiMessageHandlerAttribute attribute
|
||||
|| !method.ReturnType.IsAssignableTo(typeof(ApiResult)))
|
||||
{
|
||||
if (throwOnError)
|
||||
@@ -155,7 +155,7 @@ public class ApiServer(string apiUrl) : IApiServer
|
||||
// Get handler
|
||||
Log.Debug("Find handler");
|
||||
if (!handlers.TryGetValue(url, out var handler)
|
||||
|| handler.Method.GetCustomAttribute<MessageHandlerAttribute>() is not MessageHandlerAttribute attribute)
|
||||
|| handler.Method.GetCustomAttribute<ApiMessageHandlerAttribute>() is not ApiMessageHandlerAttribute attribute)
|
||||
return null;
|
||||
|
||||
// Check authentication
|
||||
@@ -220,13 +220,13 @@ public class ApiServer(string apiUrl) : IApiServer
|
||||
return [.. objs];
|
||||
}
|
||||
|
||||
protected virtual IMessageSerializer GetSerializer(Type? t)
|
||||
protected virtual IApiMessageSerializer GetSerializer(Type? t)
|
||||
{
|
||||
if (t is not null)
|
||||
{
|
||||
if (serializers.TryGetValue(t, out var s) && s is not null)
|
||||
return s;
|
||||
else if (Activator.CreateInstance(t) is IMessageSerializer ss)
|
||||
else if (Activator.CreateInstance(t) is IApiMessageSerializer ss)
|
||||
{
|
||||
serializers.Add(t, ss);
|
||||
return ss;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace Pilz.Net.Api;
|
||||
|
||||
public class DefaultMessageSerializer : IMessageSerializer
|
||||
public class DefaultApiMessageSerializer : IApiMessageSerializer
|
||||
{
|
||||
private static JsonSerializerSettings? defaultSerializerSettings;
|
||||
|
||||
@@ -8,7 +8,7 @@ public interface IApiClient
|
||||
|
||||
string? AuthKey { get; set; }
|
||||
|
||||
IMessageSerializer Serializer { get; }
|
||||
IApiMessageSerializer Serializer { get; }
|
||||
|
||||
ILogger Log { get; set; }
|
||||
|
||||
@@ -16,11 +16,11 @@ public interface IApiClient
|
||||
|
||||
Task<ApiResponse> SendRequest(string route, ApiMessage? message);
|
||||
|
||||
Task<ApiResponse> SendRequest(string route, ApiMessage? message, IMessageSerializer? serializer);
|
||||
Task<ApiResponse> SendRequest(string route, ApiMessage? message, IApiMessageSerializer? serializer);
|
||||
|
||||
Task<ApiResponse<TResponse>> SendRequest<TResponse>(string route) where TResponse : ApiMessage;
|
||||
|
||||
Task<ApiResponse<TResponse>> SendRequest<TResponse>(string route, ApiMessage? message) where TResponse : ApiMessage;
|
||||
|
||||
Task<ApiResponse<TResponse>> SendRequest<TResponse>(string route, ApiMessage? message, IMessageSerializer? serializer) where TResponse : ApiMessage;
|
||||
Task<ApiResponse<TResponse>> SendRequest<TResponse>(string route, ApiMessage? message, IApiMessageSerializer? serializer) where TResponse : ApiMessage;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace Pilz.Net.Api;
|
||||
|
||||
public interface IMessageSerializer
|
||||
public interface IApiMessageSerializer
|
||||
{
|
||||
string? Serialize(ApiMessage message);
|
||||
ApiMessage? Deserialize(string json, Type target);
|
||||
@@ -12,7 +12,7 @@ public interface IApiServer
|
||||
|
||||
bool EnableAuth { get; set; }
|
||||
|
||||
IMessageSerializer Serializer { get; }
|
||||
IApiMessageSerializer Serializer { get; }
|
||||
|
||||
ILogger Log { get; set; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user