Example #1
0
        public override Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext,
                                                                   PublishAsyncDelegate <T>?callback = null)
        {
            var tracer = GetTracer();

            if (tracer != null)
            {
                var transaction = tracer.CurrentTransaction;
                if (transaction == null)
                {
                    return(tracer.CaptureTransaction($"Publish {message.GetType().FullName}",
                                                     ApiConstants.TypeExternal, () =>
                    {
                        messageContext.RequestId = tracer.CurrentTransaction.OutgoingDistributedTracingData.SerializeToString();
                        return base.PublishAsync(message, messageContext, callback);
                    }));
                }

                return(transaction.CaptureSpan($"Publish {message.GetType().FullName}", ApiConstants.TypeExternal,
                                               () =>
                {
                    messageContext.RequestId = tracer.CurrentTransaction.OutgoingDistributedTracingData.SerializeToString();
                    return base.PublishAsync(message, messageContext, callback);
                }, "Queue"));
            }

            return(base.PublishAsync(message, messageContext, callback));
        }
Example #2
0
        public Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext,
                                                          PublishAsyncDelegate <T> callback) where T : class
        {
            if (_mw == null)
            {
                return(callback(message, messageContext));
            }

            return(_mw.PublishAsync(message, messageContext, callback));
        }
Example #3
0
        public override Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext,
                                                                   PublishAsyncDelegate <T>?callback = null)
        {
            if (!FailOnPublish)
            {
                return(base.PublishAsync(message, messageContext, callback));
            }
            var result = new QueuePublishResult();

            result.SetError("Middleware failed publish");
            return(Task.FromResult(result));
        }
        public virtual Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext,
                                                                  PublishAsyncDelegate <T>?callback = null) where T : class
        {
            if (Next != null)
            {
                return(Next.PublishAsync(message, messageContext, callback));
            }

            if (callback != null)
            {
                return(callback(message, messageContext));
            }

            var result = new QueuePublishResult();

            result.SetError("Message reached end of pipeline");
            return(Task.FromResult(result));
        }
Example #5
0
 public override Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext,
                                                            PublishAsyncDelegate <T>?callback = null)
 {
     Published++;
     return(base.PublishAsync(message, messageContext, callback));
 }
Example #6
0
 public override Task <QueuePublishResult> PublishAsync <T>(T message, QueueMessageContext messageContext,
                                                            PublishAsyncDelegate <T>?callback = null)
 {
     _state.AppendState("bar");
     return(base.PublishAsync(message, messageContext, callback));
 }