Table of Contents

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

TPayload

The 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

payload TPayload

The payload carried by the message.

headers MessageHeaders

The message metadata. When omitted, Empty is used.

Properties

Headers

The immutable metadata associated with the message.

public MessageHeaders Headers { get; }

Property Value

MessageHeaders

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

payload TPayload

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

configure Func<MessageHeaders, MessageHeaders>

Returns

Message<TPayload>

WithCausationId(string)

Returns a new message with the causation identifier header set.

public Message<TPayload> WithCausationId(string causationId)

Parameters

causationId string

Returns

Message<TPayload>

WithContentType(string)

Returns a new message with the content type header set.

public Message<TPayload> WithContentType(string contentType)

Parameters

contentType string

Returns

Message<TPayload>

WithCorrelationId(string)

Returns a new message with the correlation identifier header set.

public Message<TPayload> WithCorrelationId(string correlationId)

Parameters

correlationId string

Returns

Message<TPayload>

WithHeader(string, object?)

Returns a new message with a header value set.

public Message<TPayload> WithHeader(string name, object? value)

Parameters

name string
value object

Returns

Message<TPayload>

WithHeaders(MessageHeaders)

Returns a new message with the supplied headers.

public Message<TPayload> WithHeaders(MessageHeaders headers)

Parameters

headers MessageHeaders

Returns

Message<TPayload>

WithIdempotencyKey(string)

Returns a new message with the idempotency key header set.

public Message<TPayload> WithIdempotencyKey(string idempotencyKey)

Parameters

idempotencyKey string

Returns

Message<TPayload>

WithMessageId(string)

Returns a new message with the message identifier header set.

public Message<TPayload> WithMessageId(string messageId)

Parameters

messageId string

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

payload TNewPayload

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

replyTo string

Returns

Message<TPayload>