/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Serialization/RawMessageSerializer.cs
42 строки
2 KB
Chris Patterson
Fixed #5255 - Newtonsoft not setting raw message headers properly when copying raw message body
16 июн 2024, 03:33
16 июн 2024, 03:33
ff9de5c
Код
Авторство
О чём код?
namespace MassTransit.Serialization { using System.Text; using System.Text.Json; using Metadata; public abstract class RawMessageSerializer { protected virtual void SetRawMessageHeaders(SendContext context) { if (context.MessageId.HasValue) context.Headers.Set(MessageHeaders.MessageId, context.MessageId.Value.ToString()); if (context.CorrelationId.HasValue) context.Headers.Set(MessageHeaders.CorrelationId, context.CorrelationId.Value.ToString()); if (context.ConversationId.HasValue) context.Headers.Set(MessageHeaders.ConversationId, context.ConversationId.Value.ToString()); if (context.InitiatorId.HasValue) context.Headers.Set(MessageHeaders.InitiatorId, context.InitiatorId.Value.ToString()); if (context.RequestId.HasValue) context.Headers.Set(MessageHeaders.RequestId, context.RequestId.Value.ToString()); if (context.SupportedMessageTypes?.Length > 0) context.Headers.Set(MessageHeaders.MessageType, string.Join(";", context.SupportedMessageTypes)); if (context.ResponseAddress != null) context.Headers.Set(MessageHeaders.ResponseAddress, context.ResponseAddress); if (context.FaultAddress != null) context.Headers.Set(MessageHeaders.FaultAddress, context.FaultAddress); if (context.SourceAddress != null) context.Headers.Set(MessageHeaders.SourceAddress, context.SourceAddress); context.Headers.Set(MessageHeaders.Host.Info, Encoding.UTF8.GetString(JsonSerializer.SerializeToUtf8Bytes(HostMetadataCache.Host))); } } }