コード例 #1
0
        public void LogNullMessageSkipped_Logged()
        {
            var envelope = new RawInboundEnvelope(
                Stream.Null,
                new MessageHeaderCollection
            {
                { DefaultMessageHeaders.MessageType, "Message.Type" },
                { DefaultMessageHeaders.MessageId, "1234" }
            },
                new TestConsumerEndpoint("test1, test2"),
                "test1",
                new TestOffset("a", "42"));

            var expectedMessage =
                "The null message will be skipped. | " +
                "endpointName: test1, " +
                "messageType: Message.Type, " +
                "messageId: 1234, " +
                "unused1: (null), " +
                "unused2: (null)";

            _inboundLogger.LogNullMessageSkipped(envelope);

            _loggerSubstitute.Received(LogLevel.Information, null, expectedMessage, 1062);
        }
コード例 #2
0
        /// <inheritdoc cref="IConsumerBehavior.HandleAsync" />
        public async Task HandleAsync(
            ConsumerPipelineContext context,
            ConsumerBehaviorHandler next)
        {
            Check.NotNull(context, nameof(context));
            Check.NotNull(next, nameof(next));

            var newEnvelope = await DeserializeAsync(context).ConfigureAwait(false);

            if (newEnvelope == null)
            {
                _logger.LogNullMessageSkipped(context.Envelope);
                return;
            }

            context.Envelope = newEnvelope;

            await next(context).ConfigureAwait(false);
        }