improve parameter detection
This commit is contained in:
@@ -29,7 +29,7 @@ public class ApiServer(string apiUrl) : IApiServer
|
||||
Log.Info("Start listening");
|
||||
httpListener.Prefixes.Add(ApiUrl + "/");
|
||||
httpListener.Start();
|
||||
Listen();
|
||||
Task.Run(Listen);
|
||||
}
|
||||
|
||||
public virtual void Stop()
|
||||
@@ -169,14 +169,14 @@ public class ApiServer(string apiUrl) : IApiServer
|
||||
return new(ApiResult.Unauthorized(), null);
|
||||
|
||||
// Get required infos
|
||||
Log.Debug("Find other infos");
|
||||
var targetType = handler.Method.GetParameters().First().ParameterType;
|
||||
Log.Debug("Identify message parameter type and serializer");
|
||||
var targetType = handler.Method.GetParameters().FirstOrDefault(p => p.ParameterType.IsAssignableTo(typeof(ApiMessage)))?.ParameterType;
|
||||
var serializer = GetSerializer(attribute.Serializer);
|
||||
|
||||
// Deserialize
|
||||
Log.Debug("Deserialize message");
|
||||
ApiMessage? message;
|
||||
if (json != null)
|
||||
if (json != null && targetType != null)
|
||||
message = serializer.Deserialize(json, targetType);
|
||||
else
|
||||
message = null;
|
||||
|
||||
Reference in New Issue
Block a user