/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit.Newtonsoft/Serialization/EncryptedMessageSerializer.cs
32 строки
1 KB
Chris Patterson
Integration of all external packages into MassTransit, split out into Abstractions, Middleware, and the core MassTransit assembly.
22 янв 2022, 18:24
22 янв 2022, 18:24
b5b4f50
Код
Авторство
О чём код?
#nullable enable namespace MassTransit.Serialization { using System.Net.Mime; public class EncryptedMessageSerializer : IMessageSerializer { public const string ContentTypeHeaderValue = "application/vnd.masstransit+aes"; public const string EncryptionKeyHeader = "EncryptionKeyId"; public static readonly ContentType EncryptedContentType = new ContentType(ContentTypeHeaderValue); readonly BsonMessageSerializer _bsonMessageSerializer; readonly ICryptoStreamProvider _streamProvider; public EncryptedMessageSerializer(ICryptoStreamProvider streamProvider) { _streamProvider = streamProvider; _bsonMessageSerializer = new BsonMessageSerializer(); } public ContentType ContentType => EncryptedContentType; public MessageBody GetMessageBody<T>(SendContext<T> context) where T : class { var clearMessageBody = _bsonMessageSerializer.GetMessageBody(context); return new EncryptMessageBody<T>(_streamProvider, context, clearMessageBody); } } }