public async Task Process(OutgoingStepContext context, Func <Task> next) { var transportMessage = context.Load <TransportMessage>(); if (IsPublishedMessage(transportMessage)) { var transactionContext = context.Load <ITransactionContext>(); var clone = transportMessage.Clone(); _auditingHelper.SetCommonHeaders(clone); await _transport.Send(_auditingHelper.AuditQueue, clone, transactionContext).ConfigureAwait(false); } await next().ConfigureAwait(false); }
public async Task Process(IncomingStepContext context, Func <Task> next) { var begin = _rebusTime.Now; await next(); var transactionContext = context.Load <ITransactionContext>(); var transportMessage = context.Load <TransportMessage>(); var clone = transportMessage.Clone(); _auditingHelper.SetCommonHeaders(clone); clone.Headers[AuditHeaders.HandleTime] = begin.ToString("O"); await _transport.Send(_auditingHelper.AuditQueue, clone, transactionContext); }