1 changed files with 0 additions and 61 deletions
@ -1,61 +0,0 @@ |
|||||
namespace Lion.AbpPro.CAP; |
|
||||
|
|
||||
public class AbpProJsonSerializer : ISerializer, ISingletonDependency |
|
||||
{ |
|
||||
private readonly IJsonSerializer _jsonSerializer; |
|
||||
|
|
||||
public AbpProJsonSerializer(IJsonSerializer jsonSerializer) |
|
||||
{ |
|
||||
_jsonSerializer = jsonSerializer; |
|
||||
} |
|
||||
|
|
||||
public virtual string Serialize(Message message) |
|
||||
{ |
|
||||
return _jsonSerializer.Serialize(message); |
|
||||
} |
|
||||
|
|
||||
public virtual ValueTask<TransportMessage> SerializeAsync(Message message) |
|
||||
{ |
|
||||
if (message == null) |
|
||||
{ |
|
||||
throw new ArgumentNullException(nameof(message)); |
|
||||
} |
|
||||
|
|
||||
if (message.Value == null) |
|
||||
{ |
|
||||
return new ValueTask<TransportMessage>(new TransportMessage(message.Headers, null)); |
|
||||
} |
|
||||
|
|
||||
var json = _jsonSerializer.Serialize(message.Value); |
|
||||
|
|
||||
return new ValueTask<TransportMessage>(new TransportMessage(message.Headers, Encoding.UTF8.GetBytes(json))); |
|
||||
} |
|
||||
|
|
||||
public virtual Message Deserialize(string json) |
|
||||
{ |
|
||||
return _jsonSerializer.Deserialize<Message>(json); |
|
||||
} |
|
||||
|
|
||||
public virtual ValueTask<Message> DeserializeAsync(TransportMessage transportMessage, Type valueType) |
|
||||
{ |
|
||||
if (valueType == null || transportMessage.Body.IsEmpty) |
|
||||
{ |
|
||||
return new ValueTask<Message>(new Message(transportMessage.Headers, null)); |
|
||||
} |
|
||||
|
|
||||
var json = Encoding.UTF8.GetString(transportMessage.Body.ToArray()); |
|
||||
|
|
||||
return new ValueTask<Message>(new Message(transportMessage.Headers, |
|
||||
_jsonSerializer.Deserialize(valueType, json))); |
|
||||
} |
|
||||
|
|
||||
public virtual object Deserialize(object value, Type valueType) |
|
||||
{ |
|
||||
return _jsonSerializer.Deserialize(valueType, value.ToString()); |
|
||||
} |
|
||||
|
|
||||
public virtual bool IsJsonType(object jsonObject) |
|
||||
{ |
|
||||
return jsonObject is JsonElement; |
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue