package io.muoncore.extension.amqp;
import io.muoncore.Discovery;
import io.muoncore.codec.Codecs;
import io.muoncore.message.MuonInboundMessage;
import io.muoncore.message.MuonOutboundMessage;
public class AmqpMessageTransformers {
public static QueueListener.QueueMessage outboundToQueue(String queue, MuonOutboundMessage message, Codecs codecs, Discovery discovery) {
Codecs.EncodingResult result = codecs.encode(message, discovery.getCodecsForService(message.getTargetServiceName()));
return QueueMessageBuilder.queue(queue)
.contentType(result.getContentType())
.body(result.getPayload()).build();
}
public static MuonInboundMessage queueToInbound(QueueListener.QueueMessage message, Codecs codecs) {
return codecs.decode(message.getBody(), message.getContentType(), MuonInboundMessage.class);
}
}