async Task InvokeOutgoingMessageMutators(IOutgoingLogicalMessageContext context, Func <IOutgoingLogicalMessageContext, Task> next) { context.Extensions.TryGet(out LogicalMessage incomingLogicalMessage); context.Extensions.TryGet(out IncomingMessage incomingPhysicalMessage); var mutatorContext = new MutateOutgoingMessageContext( context.Message.Instance, context.Headers, incomingLogicalMessage?.Instance, incomingPhysicalMessage?.Headers); var hasMutators = false; foreach (var mutator in context.Builder.BuildAll <IMutateOutgoingMessages>()) { hasMutators = true; await mutator.MutateOutgoing(mutatorContext) .ThrowIfNull() .ConfigureAwait(false); } hasOutgoingMessageMutators = hasMutators; if (mutatorContext.MessageInstanceChanged) { context.UpdateMessage(mutatorContext.OutgoingMessage); } await next(context).ConfigureAwait(false); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { var headers = context.OutgoingHeaders; headers["MutateOutgoingMessages"] = "ValueMutateOutgoingMessages"; return(Task.FromResult(0)); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { // the outgoing headers var outgoingHeaders = context.OutgoingHeaders; object incomingMessage; if (context.TryGetIncomingMessage(out incomingMessage)) { // do something with the incoming message } IReadOnlyDictionary <string, string> incomingHeaders; if (context.TryGetIncomingHeaders(out incomingHeaders)) { // do something with the incoming headers } // the outgoing message // optionally replace the message instance by setting context.OutgoingMessage var outgoingMessage = context.OutgoingMessage; return(Task.CompletedTask); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { var headers = context.OutgoingHeaders; headers["MutateOutgoingMessages"] = "ValueMutateOutgoingMessages"; return(Task.CompletedTask); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { if (context.OutgoingMessage is V1Message) { context.OutgoingMessage = new V2Message(); } return(Task.FromResult(0)); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { //foreach (var contextOutgoingHeader in context.OutgoingHeaders) //{ // Console.WriteLine($"Header key: {contextOutgoingHeader.Key} value: {contextOutgoingHeader.Value}"); // _log.Debug($"Header key: {contextOutgoingHeader.Key} value: {contextOutgoingHeader.Value}"); //} return(Task.CompletedTask); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { Assert.IsNotEmpty(context.OutgoingHeaders); Assert.IsNotNull(context.OutgoingMessage); context.TryGetIncomingHeaders(out var incomingHeaders); context.TryGetIncomingMessage(out var incomingMessage); Assert.IsNotEmpty(incomingHeaders); Assert.IsNotNull(incomingMessage); return(Task.FromResult(0)); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { var headers = context.OutgoingHeaders; foreach (var header in CurrentHeaders) { headers[header.Key] = header.Value; } return(Task.CompletedTask); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { Assert.IsNotEmpty(context.OutgoingHeaders); Assert.IsNotNull(context.OutgoingMessage); IReadOnlyDictionary <string, string> incomingHeaders; context.TryGetIncomingHeaders(out incomingHeaders); object incomingmessage; context.TryGetIncomingMessage(out incomingmessage); Assert.IsNotEmpty(incomingHeaders); Assert.IsNotNull(incomingmessage); return(Task.FromResult(0)); }
public async Task MutateOutgoing(MutateOutgoingMessageContext context) { // the outgoing headers var outgoingHeaders = context.OutgoingHeaders; if (context.TryGetIncomingMessage(out var incomingMessage)) { // do something with the incoming message } if (context.TryGetIncomingHeaders(out var incomingHeaders)) { // do something with the incoming headers } await Task.Yield(); Console.WriteLine($"Published event, [{Thread.CurrentThread.ManagedThreadId}] User: {Thread.CurrentPrincipal?.Identity?.Name}"); // the outgoing message // optionally replace the message instance by setting context.OutgoingMessage var outgoingMessage = context.OutgoingMessage; }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { return null; }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { context.OutgoingMessage = new object(); return(TaskEx.CompletedTask); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { return(TaskEx.CompletedTask); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { return(null); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { MutateOutgoingCalled = true; return(TaskEx.CompletedTask); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { return TaskEx.CompletedTask; }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { context.OutgoingMessage = new object(); return TaskEx.CompletedTask; }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { ValidateDataAnnotations(context.OutgoingMessage); return(Task.FromResult(0)); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { testContext.MessageMutatorCalled = true; return(Task.FromResult(0)); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { ValidateDataAnnotations(context.OutgoingMessage); return(Task.CompletedTask); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { throw new NotImplementedException(); }
public Task MutateOutgoing(MutateOutgoingMessageContext context) { MutateOutgoingCalled = true; return TaskEx.CompletedTask; }