Class Message<TPayload>
- Namespace
- PatternKit.Messaging
- Assembly
- PatternKit.Core.dll
Immutable message envelope that pairs a payload with metadata headers.
public sealed class Message<TPayload>
Type Parameters
TPayloadThe payload type carried by the message.
- Inheritance
-
Message<TPayload>
- Inherited Members
Constructors
Message(TPayload, MessageHeaders?)
Creates a message envelope.
public Message(TPayload payload, MessageHeaders? headers = null)
Parameters
payloadTPayloadThe payload carried by the message.
headersMessageHeadersThe message metadata. When omitted, Empty is used.
Properties
Headers
The immutable metadata associated with the message.
public MessageHeaders Headers { get; }
Property Value
Payload
The payload carried by the message.
public TPayload Payload { get; }
Property Value
- TPayload
Methods
Create(TPayload)
Creates a message envelope with no custom headers.
public static Message<TPayload> Create(TPayload payload)
Parameters
payloadTPayload
Returns
- Message<TPayload>
Enrich(Func<MessageHeaders, MessageHeaders>)
Returns a new message after applying configure to the existing headers.
public Message<TPayload> Enrich(Func<MessageHeaders, MessageHeaders> configure)
Parameters
configureFunc<MessageHeaders, MessageHeaders>
Returns
- Message<TPayload>
WithCausationId(string)
Returns a new message with the causation identifier header set.
public Message<TPayload> WithCausationId(string causationId)
Parameters
causationIdstring
Returns
- Message<TPayload>
WithContentType(string)
Returns a new message with the content type header set.
public Message<TPayload> WithContentType(string contentType)
Parameters
contentTypestring
Returns
- Message<TPayload>
WithCorrelationId(string)
Returns a new message with the correlation identifier header set.
public Message<TPayload> WithCorrelationId(string correlationId)
Parameters
correlationIdstring
Returns
- Message<TPayload>
WithHeader(string, object?)
Returns a new message with a header value set.
public Message<TPayload> WithHeader(string name, object? value)
Parameters
Returns
- Message<TPayload>
WithHeaders(MessageHeaders)
Returns a new message with the supplied headers.
public Message<TPayload> WithHeaders(MessageHeaders headers)
Parameters
headersMessageHeaders
Returns
- Message<TPayload>
WithIdempotencyKey(string)
Returns a new message with the idempotency key header set.
public Message<TPayload> WithIdempotencyKey(string idempotencyKey)
Parameters
idempotencyKeystring
Returns
- Message<TPayload>
WithMessageId(string)
Returns a new message with the message identifier header set.
public Message<TPayload> WithMessageId(string messageId)
Parameters
messageIdstring
Returns
- Message<TPayload>
WithPayload<TNewPayload>(TNewPayload)
Returns a new message with a different payload and the same headers.
public Message<TNewPayload> WithPayload<TNewPayload>(TNewPayload payload)
Parameters
payloadTNewPayload
Returns
- Message<TNewPayload>
Type Parameters
TNewPayload
WithReplyTo(string)
Returns a new message with the reply address header set.
public Message<TPayload> WithReplyTo(string replyTo)
Parameters
replyTostring
Returns
- Message<TPayload>