Ejemplo n.º 1
0
 public RawInboundEnvelope(
     Stream?rawMessage,
     IReadOnlyCollection <MessageHeader>?headers,
     IConsumerEndpoint endpoint,
     string actualEndpointName,
     IBrokerMessageIdentifier brokerMessageIdentifier)
     : base(rawMessage, headers, endpoint)
 {
     ActualEndpointName      = actualEndpointName;
     BrokerMessageIdentifier = brokerMessageIdentifier;
 }
Ejemplo n.º 2
0
 /// <summary>
 ///     Creates an <see cref="IRawInboundEnvelope" />.
 /// </summary>
 /// <param name="rawMessageStream">
 ///     The raw message body.
 /// </param>
 /// <param name="headers">
 ///     The message headers.
 /// </param>
 /// <param name="endpoint">
 ///     The source endpoint.
 /// </param>
 /// <param name="identifier">
 ///     The <see cref="IBrokerMessageIdentifier" />.
 /// </param>
 /// <returns>
 ///     An <see cref="IInboundEnvelope{TMessage}" /> containing the specified message.
 /// </returns>
 public static IRawInboundEnvelope Create(
     Stream rawMessageStream,
     MessageHeaderCollection?headers,
     IConsumerEndpoint endpoint,
     IBrokerMessageIdentifier identifier) =>
 new RawInboundEnvelope(
     rawMessageStream,
     headers?.AsReadOnlyCollection(),
     endpoint,
     Check.NotNull(endpoint, nameof(endpoint)).Name,
     identifier);
Ejemplo n.º 3
0
 public RawInboundEnvelope(
     Stream?rawMessage,
     IEnumerable <MessageHeader>?headers,
     IConsumerEndpoint endpoint,
     string actualEndpointName,
     IBrokerMessageIdentifier brokerMessageIdentifier,
     IDictionary <string, string>?additionalLogData = null)
     : base(rawMessage, headers, endpoint, additionalLogData)
 {
     ActualEndpointName      = actualEndpointName;
     BrokerMessageIdentifier = brokerMessageIdentifier;
 }
Ejemplo n.º 4
0
 public RawInboundEnvelope(
     byte[]?rawMessage,
     IReadOnlyCollection <MessageHeader>?headers,
     IConsumerEndpoint endpoint,
     string actualEndpointName,
     IBrokerMessageIdentifier brokerMessageIdentifier)
     : this(
         rawMessage != null ? new MemoryStream(rawMessage) : null,
         headers,
         endpoint,
         actualEndpointName,
         brokerMessageIdentifier)
 {
 }
Ejemplo n.º 5
0
 public InboundEnvelope(
     object message,
     Stream?rawMessage,
     IReadOnlyCollection <MessageHeader>?headers,
     IBrokerMessageIdentifier brokerMessageIdentifier,
     IConsumerEndpoint endpoint,
     string actualEndpointName)
     : base(
         rawMessage,
         headers,
         endpoint,
         actualEndpointName,
         brokerMessageIdentifier)
 {
     Message = message;
 }
Ejemplo n.º 6
0
 public RawInboundEnvelope(
     byte[]?rawMessage,
     IEnumerable <MessageHeader>?headers,
     IConsumerEndpoint endpoint,
     string actualEndpointName,
     IBrokerMessageIdentifier brokerMessageIdentifier,
     IDictionary <string, string>?additionalLogData = null)
     : this(
         rawMessage != null ? new MemoryStream(rawMessage) : null,
         headers,
         endpoint,
         actualEndpointName,
         brokerMessageIdentifier,
         additionalLogData)
 {
 }
Ejemplo n.º 7
0
 public InboundEnvelope(
     object message,
     Stream?rawMessage,
     IEnumerable <MessageHeader>?headers,
     IBrokerMessageIdentifier brokerMessageIdentifier,
     IConsumerEndpoint endpoint,
     string actualEndpointName,
     IDictionary <string, string>?additionalLogData = null)
     : base(
         rawMessage,
         headers,
         endpoint,
         actualEndpointName,
         brokerMessageIdentifier,
         additionalLogData)
 {
     Message = message;
 }
Ejemplo n.º 8
0
        public RawInboundEnvelope(
            Stream?rawMessage,
            IReadOnlyCollection <MessageHeader>?headers,
            IConsumerEndpoint endpoint,
            string actualEndpointName,
            IBrokerMessageIdentifier brokerMessageIdentifier)
            : base(rawMessage, headers, endpoint)
        {
            Check.NotNull(endpoint, nameof(endpoint));

            ActualEndpointName      = actualEndpointName;
            BrokerMessageIdentifier = brokerMessageIdentifier;

            if (endpoint.FriendlyName != null)
            {
                _actualEndpointDisplayName = $"{endpoint.FriendlyName} ({actualEndpointName})";
            }
        }
        public void EnrichInboundActivity_TagsAdded()
        {
            KafkaActivityEnricher enricher = new();

            ConsumerPipelineContext context = ConsumerPipelineContextHelper.CreateSubstitute();

            context.Envelope.Headers[KafkaMessageHeaders.KafkaMessageKey] = "MessageKey";

            Activity activity = new("Test Activity");

            enricher.EnrichInboundActivity(activity, context);

            IBrokerMessageIdentifier identifier = context.Envelope.BrokerMessageIdentifier;

            activity.Tags.Should().Contain(
                t => t.Key == KafkaActivityEnricher.KafkaMessageKey && t.Value == "MessageKey");
            activity.Tags.Should()
            .Contain(t => t.Key == KafkaActivityEnricher.KafkaPartition && t.Value == "test");
            activity.Tags.Should().Contain(
                t => t.Key == ActivityTagNames.MessageId &&
                t.Value == $"{identifier.Key}@{identifier.Value}");
        }
Ejemplo n.º 10
0
 /// <inheritdoc cref="Consumer.GetSequenceStore" />
 protected override ISequenceStore GetSequenceStore(IBrokerMessageIdentifier brokerMessageIdentifier) =>
 GetSequenceStore((TIdentifier)brokerMessageIdentifier);