Add header suppor for Kafka broker plugin; (#2470)

This commit is contained in:
Wang
2022-04-04 19:54:19 +01:00
committed by GitHub
parent d1806e2883
commit 6dedee5d8c
+15
View File
@@ -80,6 +80,21 @@ func (h *consumerGroupHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, cl
continue
}
if p.m.Body == nil {
p.m.Body = msg.Value
}
// if we don't have headers, create empty map
if m.Header == nil {
m.Header = make(map[string]string)
}
for _, header := range msg.Headers {
m.Header[string(header.Key)] = string(header.Value)
}
m.Header["Micro-Topic"] = msg.Topic // only for RPC server, it somehow inspect Header for topic
if _, ok := m.Header["Content-Type"]; !ok {
m.Header["Content-Type"] = "application/json" // default to json codec
}
err := h.handler(p)
if err == nil && h.subopts.AutoAck {
sess.MarkMessage(msg, "")