Exemplo n.º 1
0
        async Task InvokeIncomingTransportMessagesMutators(IIncomingPhysicalMessageContext context, Func <IIncomingPhysicalMessageContext, Task> next)
        {
            var mutatorsRegisteredInDI = context.Builder.GetServices <IMutateIncomingTransportMessages>();
            var transportMessage       = context.Message;
            var mutatorContext         = new MutateIncomingTransportMessageContext(transportMessage.Body, transportMessage.Headers);

            var hasMutators = false;

            foreach (var mutator in mutatorsRegisteredInDI)
            {
                hasMutators = true;

                await mutator.MutateIncoming(mutatorContext)
                .ThrowIfNull()
                .ConfigureAwait(false);
            }

            foreach (var mutator in mutators)
            {
                hasMutators = true;

                await mutator.MutateIncoming(mutatorContext)
                .ThrowIfNull()
                .ConfigureAwait(false);
            }

            hasIncomingTransportMessageMutators = hasMutators;

            if (mutatorContext.MessageBodyChanged)
            {
                context.UpdateMessage(mutatorContext.Body);
            }

            await next(context).ConfigureAwait(false);
        }
Exemplo n.º 2
0
            public Task MutateIncoming(MutateIncomingTransportMessageContext context)
            {
                if (context.IsMessageOfTye <SendFromSagaMessage>())
                {
                    string headerText = HeaderWriter.ToFriendlyString <HeaderWriterSaga>(context.Headers);
                    SnippetLogger.Write(text: headerText, suffix: "Sending", version: "6");
                    CountdownEvent.Signal();
                    return(Task.FromResult(0));
                }
                if (context.IsMessageOfTye <ReplyFromSagaMessage>())
                {
                    string headerText = HeaderWriter.ToFriendlyString <HeaderWriterSaga>(context.Headers);
                    SnippetLogger.Write(text: headerText, suffix: "Replying", version: "6");
                    CountdownEvent.Signal();
                    return(Task.FromResult(0));
                }
                if (context.IsMessageOfTye <ReplyToOriginatorFromSagaMessage>())
                {
                    string headerText = HeaderWriter.ToFriendlyString <HeaderWriterSaga>(context.Headers);
                    SnippetLogger.Write(text: headerText, suffix: "ReplyingToOriginator", version: "6");
                    CountdownEvent.Signal();
                    return(Task.FromResult(0));
                }

                if (context.IsMessageOfTye <TimeoutFromSaga>())
                {
                    string headerText = HeaderWriter.ToFriendlyString <HeaderWriterSaga>(context.Headers);
                    SnippetLogger.Write(text: headerText, suffix: "Timeout", version: "6");
                    CountdownEvent.Signal();
                    return(Task.FromResult(0));
                }
                return(Task.FromResult(0));
            }
 public Task MutateIncoming(MutateIncomingTransportMessageContext context)
 {
     string headerText = HeaderWriter.ToFriendlyString<HeaderWriterDefer>(context.Headers);
     SnippetLogger.Write(headerText, version: "6");
     ManualResetEvent.Set();
     return Task.FromResult(0);
 }
Exemplo n.º 4
0
                public Task MutateIncoming(MutateIncomingTransportMessageContext context)
                {
                    testContext.Headers = context.Headers;

                    testContext.Done = true;
                    return(Task.FromResult(0));
                }
Exemplo n.º 5
0
    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
    {
        var headers = context.Headers;

        headers.Add("MutateIncomingTransportMessages", "ValueMutateIncomingTransportMessages");
        return(Task.CompletedTask);
    }
Exemplo n.º 6
0
    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
    {
        var headers = context.Headers;

        headers.Add("MutateIncomingTransportMessages", "ValueMutateIncomingTransportMessages");
        return(Task.FromResult(0));
    }
Exemplo n.º 7
0
            public Task MutateIncoming(MutateIncomingTransportMessageContext context)
            {
                var headerText = HeaderWriter.ToFriendlyString <HeaderWriterSend>(context.Headers);

                SnippetLogger.Write(headerText);
                ManualResetEvent.Set();
                return(Task.FromResult(0));
            }
 public Task MutateIncoming(MutateIncomingTransportMessageContext context)
 {
     if (context.Body.Length > PayloadSize)
     {
         throw new Exception();
     }
     return(Task.FromResult(0));
 }
Exemplo n.º 9
0
 public static bool IsMessageOfTye <T>(this MutateIncomingTransportMessageContext context)
 {
     if (context.Headers.TryGetValue("NServiceBus.EnclosedMessageTypes", out var value))
     {
         return(value == typeof(T).AssemblyQualifiedName);
     }
     return(false);
 }
 public Task MutateIncoming(MutateIncomingTransportMessageContext context)
 {
     if (context.Body.Length > PayloadSize)
     {
         throw new Exception("The message body is too large, which means the DataBus was not used to transfer the payload.");
     }
     return(Task.FromResult(0));
 }
Exemplo n.º 11
0
                public Task MutateIncoming(MutateIncomingTransportMessageContext context)
                {
                    var document         = XDocument.Parse(Encoding.UTF8.GetString(context.Body));
                    var defaultNamespace = document.Root?.GetDefaultNamespace();

                    scenarioContext.MessageNamespace = defaultNamespace?.NamespaceName;
                    return(Task.FromResult(0));
                }
Exemplo n.º 12
0
        public Task MutateIncoming(MutateIncomingTransportMessageContext context)
        {
            var headers      = context.Headers;
            var nsbVersion   = headers[Headers.NServiceBusVersion];
            var customHeader = headers["MyCustomHeader"];

            return(Task.CompletedTask);
        }
Exemplo n.º 13
0
    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
    {
        var messageString = Encoding.Default.GetString(context.Body);

        Asserter.IsTrue(!messageString.Contains("Secret"), "Message property was not encrypted");

        return(Task.FromResult(0));
    }
Exemplo n.º 14
0
            public Task MutateIncoming(MutateIncomingTransportMessageContext context)
            {
                var headerText = HeaderWriter.ToFriendlyString <HeaderWriterPublish>(context.Headers);

                SnippetLogger.Write(headerText);
                ManualResetEvent.Set();
                return(Task.CompletedTask);
            }
Exemplo n.º 15
0
    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
    {
        var bodyAsString = Encoding.UTF8
                           .GetString(context.Body);

        log.Info("Serialized Message Body:");
        log.Info(bodyAsString);
        return(Task.FromResult(0));
    }
Exemplo n.º 16
0
    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
    {
        var bodyAsString = Encoding.UTF8
                           .GetString(context.Body);
        var contentType = context.Headers[Headers.ContentType];

        log.Info($"ContentType \'{contentType}\'. Serialized Message Body:\r\n{bodyAsString}");
        return(Task.FromResult(0));
    }
                public Task MutateIncoming(MutateIncomingTransportMessageContext context)
                {
                    var body        = Encoding.UTF8.GetString(context.Body);
                    var invalidChar = char.ConvertFromUtf32(0x8);

                    context.Body = Encoding.UTF8.GetBytes(body.Replace("Hello World!", $"{invalidChar}Hello {invalidChar}World!{invalidChar}"));

                    return(Task.FromResult(0));
                }
            public Task MutateIncoming(MutateIncomingTransportMessageContext context)
            {
                var headerText = HeaderWriter.ToFriendlyString <HeaderWriterDataBusProperty>(context.Headers);

                SnippetLogger.Write(headerText);
                SnippetLogger.Write(Encoding.Default.GetString(context.Body), suffix: "Body");
                ManualResetEvent.Set();
                return(Task.CompletedTask);
            }
            public Task MutateIncoming(MutateIncomingTransportMessageContext context)
            {
                string headerText = HeaderWriter.ToFriendlyString <HeaderWriterDataBusProperty>(context.Headers);

                SnippetLogger.Write(headerText, version: "6");
                SnippetLogger.Write(Encoding.Default.GetString(context.Body), version: "6", suffix: "Body");
                ManualResetEvent.Set();
                return(Task.FromResult(0));
            }
Exemplo n.º 20
0
    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
    {
        string bodyAsString = Encoding.UTF8
                              .GetString(context.Body);

        Console.WriteLine("Serialized Message Body:");
        Console.WriteLine(bodyAsString);
        return(Task.FromResult(0));
    }
                public Task MutateIncoming(MutateIncomingTransportMessageContext context)
                {
                    if (context.Headers[Headers.MessageIntent] != MessageIntentEnum.Reply.ToString())
                    {
                        context.Headers.Remove(Headers.CorrelationId);
                    }

                    return(Task.FromResult(0));
                }
Exemplo n.º 22
0
                public Task MutateIncoming(MutateIncomingTransportMessageContext context)
                {
                    if (context.Headers.TryGetValue(Headers.ReplyToAddress, out var replyToAddress))
                    {
                        replyToContext.ReceivedReplyToAddress = replyToAddress;
                    }

                    replyToContext.Done = true;
                    return(Task.FromResult(0));
                }
Exemplo n.º 23
0
            public Task MutateIncoming(MutateIncomingTransportMessageContext context)
            {
                var headerText = HeaderWriter.ToFriendlyString <HeaderWriterDataBusConvention>(context.Headers)
                                 .Replace(typeof(MessageToSend).FullName, "MessageToSend");

                SnippetLogger.Write(headerText, version: "6");
                SnippetLogger.Write(Encoding.Default.GetString(context.Body), version: "6", suffix: "Body");
                ManualResetEvent.Set();
                return(Task.FromResult(0));
            }
            public Task MutateIncoming(MutateIncomingTransportMessageContext context)
            {
                var headerText = HeaderWriter.ToFriendlyString <HeaderWriterEncryption>(context.Headers);

                SnippetLogger.Write(headerText);
                SnippetLogger.Write(Encoding.Default.GetString(context.Body),
                                    suffix: "Body");
                ManualResetEvent.Set();
                return(Task.FromResult(0));
            }
 public Task MutateIncoming(MutateIncomingTransportMessageContext context)
 {
     if (!hasCapturedMessage && context.IsMessageOfTye <MessageToSend>())
     {
         hasCapturedMessage = true;
         string sendingText = HeaderWriter.ToFriendlyString <HeaderWriterError>(context.Headers);
         SnippetLogger.Write(text: sendingText, suffix: "Sending", version: "6");
     }
     return(Task.FromResult(0));
 }
Exemplo n.º 26
0
    public Task MutateIncoming(MutateIncomingTransportMessageContext context)
    {
        if (context.Headers.TryGetValue("UserName", out var userNameHeader))
        {
            log.Info("Adding CurrentPrincipal user from headers");
            var identity = new GenericIdentity(userNameHeader);
            principalAccessor.CurrentPrincipal = new GenericPrincipal(identity, new string[0]);
        }

        return(Task.CompletedTask);
    }
Exemplo n.º 27
0
        public Task MutateIncoming(MutateIncomingTransportMessageContext context)
        {
            var receivedType = context.Headers["NServiceBus.EnclosedMessageTypes"];

            var localType = Assembly
                            .GetExecutingAssembly().DefinedTypes
                            .First(t => t.Name == receivedType);

            context.Headers["NServiceBus.EnclosedMessageTypes"] = localType.AssemblyQualifiedName;
            return(Task.CompletedTask);
        }
Exemplo n.º 28
0
                public Task MutateIncoming(MutateIncomingTransportMessageContext transportMessage)
                {
                    var originalBody = transportMessage.Body;

                    testContext.OriginalBodyChecksum = Checksum(originalBody);
                    var newBody = new byte[originalBody.Length];

                    Buffer.BlockCopy(originalBody, 0, newBody, 0, originalBody.Length);
                    //corrupt
                    newBody[1]++;
                    transportMessage.Body = newBody;
                    return(Task.FromResult(0));
                }
Exemplo n.º 29
0
 public Task MutateIncoming(MutateIncomingTransportMessageContext context)
 {
     if (!hasCapturedMessage && context.IsMessageOfTye <MessageToSend>())
     {
         hasCapturedMessage = true;
         var headers     = context.Headers;
         var sendingText = HeaderWriter.ToFriendlyString <HeaderWriterError>(headers);
         SnippetLogger.Write(
             text: sendingText,
             suffix: "Sending");
     }
     return(Task.CompletedTask);
 }
 public Task MutateIncoming(MutateIncomingTransportMessageContext context)
 {
     if (!context.Headers.ContainsKey("IWasCompressed"))
     {
         return(Task.FromResult(0));
     }
     using (GZipStream bigStream = new GZipStream(new MemoryStream(context.Body), CompressionMode.Decompress))
     {
         MemoryStream bigStreamOut = new MemoryStream();
         bigStream.CopyTo(bigStreamOut);
         context.Body = bigStreamOut.ToArray();
     }
     return(Task.FromResult(0));
 }