namespace Hrynco.RabbitMq; using System.Collections.Generic; /// /// Transport metadata supplied by RabbitMQ for a delivered message. /// Application-specific consumers can use this context for validation, /// correlation, and diagnostics without taking ownership of acknowledgements. /// public sealed record RabbitMqMessageContext { public required string QueueName { get; init; } public required string Exchange { get; init; } public required string RoutingKey { get; init; } public string? MessageId { get; init; } public string? MessageType { get; init; } public string? CorrelationId { get; init; } public string? ReplyTo { get; init; } public string? ContentType { get; init; } public bool Redelivered { get; init; } public IReadOnlyDictionary Headers { get; init; } = new Dictionary(); }