public static List <CFXEnvelope> EnvelopesFromMessage(Message msg) { if (msg.Body is byte[]) { byte[] msgData = msg.Body as byte[]; CFXCodec codec = CFXCodec.raw; if (string.Compare(msg.Properties.ContentEncoding, "gzip", true) == 0) { codec = CFXCodec.gzip; } msgData = Decode(msgData, codec); List <CFXEnvelope> results; string jsonData = Encoding.UTF8.GetString(msgData); if (IsMessageList(jsonData)) { results = CFXEnvelope.FromJsonList(jsonData); } else { results = new List <CFXEnvelope>(new CFXEnvelope [] { CFXEnvelope.FromJson(jsonData) }); } return(results); } throw new ArgumentException("AMQP Message Body does not contain a valid CFX Envelope"); }
public static List <CFXEnvelope> EnvelopesFromMessage(Message msg) { if (msg.Body is byte[]) { byte[] msgData = msg.Body as byte[]; if (msg.Properties?.ContentEncoding == "CFX-COMPRESSED") { msgData = Decompress(msgData); } List <CFXEnvelope> results; string jsonData = Encoding.UTF8.GetString(msgData); if (IsMessageList(jsonData)) { results = CFXEnvelope.FromJsonList(jsonData); } else { results = new List <CFXEnvelope>(new CFXEnvelope [] { CFXEnvelope.FromJson(jsonData) }); } return(results); } throw new ArgumentException("AMQP Message Body does not contain a valid CFX Envelope"); }