Skip to content

Commit f1500fd

Browse files
committed
Fixes RabbitMQ federation plugin, some headers with object values cause cast exceptions. (#1036)
1 parent 270304c commit f1500fd

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,19 @@ private void OnConsumerRegistered(object sender, ConsumerEventArgs e)
176176
private void OnConsumerReceived(object sender, BasicDeliverEventArgs e)
177177
{
178178
var headers = new Dictionary<string, string>();
179+
179180
if (e.BasicProperties.Headers != null)
180181
{
181182
foreach (var header in e.BasicProperties.Headers)
182183
{
183-
headers.Add(header.Key, header.Value == null ? null : Encoding.UTF8.GetString((byte[])header.Value));
184+
if (header.Value is byte[] val)
185+
{
186+
headers.Add(header.Key, Encoding.UTF8.GetString(val));
187+
}
188+
else
189+
{
190+
headers.Add(header.Key, header.Value?.ToString());
191+
}
184192
}
185193
}
186194

0 commit comments

Comments
 (0)