Commit b9228c4d authored by Savorboard's avatar Savorboard

Fix kafka consumer client bugs

parent 835b589a
......@@ -34,9 +34,11 @@ namespace DotNetCore.CAP.Kafka
{
var headers = new Confluent.Kafka.Headers();
foreach (var header in message.Headers.Select(x => new Header(x.Key, Encoding.UTF8.GetBytes(x.Value))))
foreach (var header in message.Headers)
{
headers.Add(header);
headers.Add(header.Value != null
? new Header(header.Key, Encoding.UTF8.GetBytes(header.Value))
: new Header(header.Key, null));
}
var result = await producer.ProduceAsync(message.GetName(), new Message<string, byte[]>
......
......@@ -55,8 +55,15 @@ namespace DotNetCore.CAP.Kafka
if (consumerResult.IsPartitionEOF || consumerResult.Value == null) continue;
var header = consumerResult.Headers.ToDictionary(x => x.Key, y => Encoding.UTF8.GetString(y.GetValueBytes()));
var message = new TransportMessage(header, consumerResult.Value);
var headers = new Dictionary<string, string>(consumerResult.Headers.Count);
foreach (var header in consumerResult.Headers)
{
var val = header.GetValueBytes();
headers.Add(header.Key, val != null ? Encoding.UTF8.GetString(val) : null);
}
headers.Add(Messages.Headers.Group, _groupId);
var message = new TransportMessage(headers, consumerResult.Value);
OnMessageReceived?.Invoke(consumerResult, message);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment