public static (Activity?act, ProducedMessage msgs) Start( ProducedMessage message, IEnumerable <KeyValuePair <string, object?> >?tags ) { var activity = GetActivity(tags); var meta = GetMeta(message.Metadata); var messageId = message.MessageId.ToString(); activity? .SetTag(TelemetryTags.Message.Type, message.MessageType) .SetTag(TelemetryTags.Message.Id, messageId) .SetTag(TelemetryTags.Messaging.MessageId, messageId) .CopyParentTag(TelemetryTags.Messaging.ConversationId) .SetOrCopyParentTag( TelemetryTags.Messaging.CausationId, meta.GetCausationId(), TelemetryTags.Message.Id ) .SetOrCopyParentTag(TelemetryTags.Messaging.CorrelationId, meta.GetCorrelationId()) .Start(); meta.AddActivityTags(activity); return(activity, message with { Metadata = meta });
/// <inheritdoc /> public ProducedMessage OnProduce(ProducedMessage message) { var properties = message.Properties; var body = message.Body; using var output = new MemoryStream(); using (var compressingStream = new GZipStream(output, CompressionMode.Compress)) compressingStream.Write(body, 0, body.Length); return(new ProducedMessage(properties, output.ToArray())); }
public void ShouldEncryptAndDecrypt() { var interceptor = new TripleDESInterceptor(Convert.FromBase64String("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), Convert.FromBase64String("aaaaaaaaaaa=")); var body = Encoding.UTF8.GetBytes("haha"); var outgoingMessage = new ProducedMessage(new MessageProperties(), body); var message = interceptor.OnProduce(outgoingMessage); var incomingMessage = new ConsumedMessage(null, message.Properties, message.Body); Assert.Equal(body, interceptor.OnConsume(incomingMessage).Body); }
public void ShouldCompressAndDecompress() { var interceptor = new GZipInterceptor(); var body = Encoding.UTF8.GetBytes("haha"); var outgoingMessage = new ProducedMessage(new MessageProperties(), body); var message = interceptor.OnProduce(outgoingMessage); var incomingMessage = new ConsumedMessage(null, message.Properties, message.Body); Assert.Equal(body, interceptor.OnConsume(incomingMessage).Body); }
/// <inheritdoc /> public ProducedMessage OnProduce(ProducedMessage message) { var properties = message.Properties; var body = message.Body; using var tripleDes = TripleDES.Create(); using var tripleDesEncryptor = tripleDes.CreateEncryptor(key, iv); var encryptedBody = tripleDesEncryptor.TransformFinalBlock(body, 0, body.Length); return(new ProducedMessage(properties, encryptedBody)); }
public void ShouldCallAddedInterceptorsOnProduce() { var sourceMessage = new ProducedMessage(new MessageProperties(), new byte[0]); var firstMessage = new ProducedMessage(new MessageProperties(), new byte[0]); var secondMessage = new ProducedMessage(new MessageProperties(), new byte[0]); var first = Substitute.For <IProduceConsumeInterceptor>(); var second = Substitute.For <IProduceConsumeInterceptor>(); first.OnProduce(sourceMessage).Returns(firstMessage); second.OnProduce(firstMessage).Returns(secondMessage); var compositeInterceptor = new CompositeInterceptor(); compositeInterceptor.Add(first); compositeInterceptor.Add(second); Assert.Equal(secondMessage, compositeInterceptor.OnProduce(sourceMessage)); }
/// <inheritdoc /> public ProducedMessage OnProduce(ProducedMessage message) => message;
/// <inheritdoc /> public ProducedMessage OnProduce(ProducedMessage message) { return(interceptors.AsEnumerable() .Aggregate(message, (x, y) => y.OnProduce(x))); }