< Summary

Class:Azure.Messaging.ServiceBus.Plugins.ServiceBusPlugin
Assembly:Azure.Messaging.ServiceBus
File(s):C:\Git\azure-sdk-for-net\sdk\servicebus\Azure.Messaging.ServiceBus\src\Plugins\ServiceBusPlugin.cs
Covered lines:26
Uncovered lines:4
Coverable lines:30
Total lines:186
Line coverage:86.6% (26 of 30)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
BeforeMessageSendAsync(...)-0%100%
AfterMessageReceiveAsync(...)-0%100%
SetBody(...)-100%100%
SetUserProperty(...)-100%100%
SetContentType(...)-100%100%
SetCorrelationId(...)-100%100%
SetLabel(...)-100%100%
SetMessageId(...)-100%100%
SetPartitionKey(...)-100%100%
SetReplyTo(...)-100%100%
SetReplyToSessionId(...)-100%100%
SetSessionId(...)-100%100%
SetScheduledEnqueueTime(...)-100%100%
SetTimeToLive(...)-100%100%
SetTo(...)-100%100%
SetViaPartitionKey(...)-0%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\servicebus\Azure.Messaging.ServiceBus\src\Plugins\ServiceBusPlugin.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License.
 3
 4using System;
 5using System.Threading.Tasks;
 6using Azure.Core;
 7
 8namespace Azure.Messaging.ServiceBus.Plugins
 9{
 10    /// <summary>
 11    /// This class provides methods that can be overridden to manipulate messages for custom plugin functionality.
 12    /// </summary>
 13    internal abstract class ServiceBusPlugin
 14    {
 15        /// <summary>
 16        /// This operation is called before a message is sent and can be
 17        /// overridden to alter the body and the properties of an outgoing message.
 18        /// </summary>
 19        /// <param name="message">The <see cref="ServiceBusMessage"/> to be modified by the plugin.</param>
 20        public virtual ValueTask BeforeMessageSendAsync(ServiceBusMessage message) =>
 021            default;
 22
 23        /// <summary>
 24        /// This operation is called after a message is received, but before it is returned to the <see cref="ServiceBus
 25        /// It can be overridden to alter the body and the properties of an
 26        /// incoming message.
 27        /// </summary>
 28        /// <param name="message">The <see cref="ServiceBusReceivedMessage"/> to be modified by the plugin.</param>
 29        public virtual ValueTask AfterMessageReceiveAsync(ServiceBusReceivedMessage message) =>
 030            default;
 31
 32        /// <summary>
 33        /// Set the <see cref="ServiceBusReceivedMessage.Body"/>.
 34        /// </summary>
 35        /// <param name="message">The message to modify.</param>
 36        /// <param name="body">The body to set on the message. This will overwrite any existing body.</param>
 37#pragma warning disable CA1822 // Mark members as static
 38        protected void SetBody(ServiceBusReceivedMessage message, BinaryData body)
 39        {
 240            message.SentMessage.Body = body;
 241        }
 42
 43        /// <summary>
 44        /// Set a key/value pair on the <see cref="ServiceBusReceivedMessage.Properties"/>.
 45        /// </summary>
 46        /// <param name="message">The message to modify.</param>
 47        /// <param name="key">The key to add or update the value of.</param>
 48        /// <param name="value">The value to set for the associated key.</param>
 49        protected void SetUserProperty(ServiceBusReceivedMessage message, string key, object value)
 50        {
 651            message.SentMessage.Properties[key] = value;
 652        }
 53
 54        /// <summary>
 55        /// Sets the
 56        /// <see cref="ServiceBusReceivedMessage.ContentType"/>.
 57        /// </summary>
 58        /// <param name="message">The message to modify.</param>
 59        /// <param name="contentType">The content type to set on
 60        /// the message.</param>
 61
 62        protected void SetContentType(ServiceBusReceivedMessage message, string contentType)
 63        {
 264            message.SentMessage.ContentType = contentType;
 265        }
 66
 67        /// <summary>
 68        /// Sets the <see cref="ServiceBusReceivedMessage.CorrelationId"/>.
 69        /// </summary>
 70        /// <param name="message">The message to modify.</param>
 71        /// <param name="correlationId">The correlationId to set
 72        /// on the message.</param>
 73
 74        protected void SetCorrelationId(ServiceBusReceivedMessage message, string correlationId)
 75        {
 276            message.SentMessage.CorrelationId = correlationId;
 277        }
 78
 79        /// <summary>
 80        /// Sets the <see cref="ServiceBusReceivedMessage.Label"/>.
 81        /// </summary>
 82        /// <param name="message">The message to modify.</param>
 83        /// <param name="label">The label to set on the message.</param>
 84
 85        protected void SetLabel(ServiceBusReceivedMessage message, string label)
 86        {
 287            message.SentMessage.Label = label;
 288        }
 89
 90        /// <summary>
 91        /// Sets the <see cref="ServiceBusReceivedMessage.MessageId"/>.
 92        /// </summary>
 93        /// <param name="message">The message to modify.</param>
 94        /// <param name="messageId">The message ID to set on the message.</param>
 95
 96        protected void SetMessageId(ServiceBusReceivedMessage message, string messageId)
 97        {
 298            message.SentMessage.MessageId = messageId;
 299        }
 100
 101        /// <summary>
 102        /// Sets the <see cref="ServiceBusReceivedMessage.PartitionKey"/>.
 103        /// </summary>
 104        /// <param name="message">The message to modify.</param>
 105        /// <param name="partitionKey">The partition key to set on the message.</param>
 106
 107        protected void SetPartitionKey(ServiceBusReceivedMessage message, string partitionKey)
 108        {
 2109            message.SentMessage.PartitionKey = partitionKey;
 2110        }
 111
 112        /// <summary>
 113        /// Sets the <see cref="ServiceBusReceivedMessage.ReplyTo"/>.
 114        /// </summary>
 115        /// <param name="message">The message to modify.</param>
 116        /// <param name="replyTo">The reply to value to set on the message.</param>
 117
 118        protected void SetReplyTo(ServiceBusReceivedMessage message, string replyTo)
 119        {
 2120            message.SentMessage.ReplyTo = replyTo;
 2121        }
 122
 123        /// <summary>
 124        /// Sets the <see cref="ServiceBusReceivedMessage.ReplyToSessionId"/>.
 125        /// </summary>
 126        /// <param name="message">The message to modify.</param>
 127        /// <param name="replyToSessionId">The reply to session ID value to set on the message.</param>
 128
 129        protected void SetReplyToSessionId(ServiceBusReceivedMessage message, string replyToSessionId)
 130        {
 2131            message.SentMessage.ReplyToSessionId = replyToSessionId;
 2132        }
 133
 134        /// <summary>
 135        /// Sets the <see cref="ServiceBusReceivedMessage.SessionId"/>.
 136        /// </summary>
 137        /// <param name="message">The message to modify.</param>
 138        /// <param name="sessionId">The session ID to set on the message.</param>
 139        protected void SetSessionId(ServiceBusReceivedMessage message, string sessionId)
 140        {
 2141            message.SentMessage.SessionId = sessionId;
 2142        }
 143
 144        /// <summary>
 145        /// Sets the <see cref="ServiceBusReceivedMessage.ScheduledEnqueueTime"/>.
 146        /// </summary>
 147        /// <param name="message">The message to modify.</param>
 148        /// <param name="scheduledEnqueueTime">The scheduled enqueue time to set on the message.</param>
 149        protected void SetScheduledEnqueueTime(ServiceBusReceivedMessage message, DateTimeOffset scheduledEnqueueTime)
 150        {
 2151            message.SentMessage.ScheduledEnqueueTime = scheduledEnqueueTime;
 2152        }
 153
 154        /// <summary>
 155        /// Sets the <see cref="ServiceBusReceivedMessage.TimeToLive"/>.
 156        /// </summary>
 157        /// <param name="message">The message to modify.</param>
 158        /// <param name="timeToLive">The time to live to set on the message.</param>
 159
 160        protected void SetTimeToLive(ServiceBusReceivedMessage message, TimeSpan timeToLive)
 161        {
 2162            message.SentMessage.TimeToLive = timeToLive;
 2163        }
 164
 165        /// <summary>
 166        /// Sets the <see cref="ServiceBusReceivedMessage.To"/>.
 167        /// </summary>
 168        /// <param name="message">The message to modify.</param>
 169        /// <param name="to">The to value to set on the message.</param>
 170        protected void SetTo(ServiceBusReceivedMessage message, string to)
 171        {
 2172            message.SentMessage.To = to;
 2173        }
 174
 175        /// <summary>
 176        /// Sets the <see cref="ServiceBusReceivedMessage.ViaPartitionKey"/>.
 177        /// </summary>
 178        /// <param name="message">The message to modify.</param>
 179        /// <param name="viaPartitionKey">The via partition key to set on the message.</param>
 180        protected void SetViaPartitionKey(ServiceBusReceivedMessage message, string viaPartitionKey)
 181        {
 0182            message.SentMessage.ViaPartitionKey = viaPartitionKey;
 0183        }
 184#pragma warning restore CA1822 // Mark members as static
 185    }
 186}