Skip to content

Commit 5832671

Browse files
committed
Add support for using different registered Content Types in Rabbit MQ
1 parent 1537f61 commit 5832671

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/ServiceStack.RabbitMq/RabbitMqExtensions.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,13 @@ public static IMessage<T> ToMessage<T>(this BasicGetResult msgResult)
214214
return null;
215215

216216
var props = msgResult.BasicProperties;
217-
var json = msgResult.Body.FromUtf8Bytes();
218-
var body = json.FromJson<T>();
217+
var deserializer = HostContext.ContentTypes.GetStreamDeserializer(props.ContentType ?? MimeTypes.Json);
218+
if (deserializer == null)
219+
throw new NotSupportedException("Unknown Content-Type: " + props.ContentType);
220+
221+
var ms = MemoryStreamFactory.GetStream(msgResult.Body);
222+
var body = (T)deserializer(typeof(T), ms);
223+
ms.Dispose();
219224

220225
var message = new Message<T>(body)
221226
{

0 commit comments

Comments
 (0)