public IAmqpProperties BuildPropertiesFromHeaders(IReadOnlyDictionary <string, string> headers) { var properties = new AmqpProperties(); properties.ContentEncoding = GetHeaderOrNull(headers, ContentEncoding); properties.ContentType = GetHeaderOrNull(headers, ContentType); properties.CorrelationId = GetHeaderOrNull(headers, CorrelationId); properties.MessageId = GetHeaderOrNull(headers, MessageId); properties.Persistent = bool.TryParse(GetHeaderOrNull(headers, Persistent), out bool result); properties.ReplyTo = GetHeaderOrNull(headers, ReplyTo); var presetHeaders = new List <string> { ContentEncoding, ContentType, CorrelationId, MessageId, Persistent, ReplyTo }; properties.Headers = headers .Where(kv => !presetHeaders.Contains(kv.Key)) .ToDictionary(kv => kv.Key, kv => kv.Value); return(properties); }
public IAmqpProperties BuildPropertiesFromProperties(IBasicProperties basicProperties) { var properties = new AmqpProperties(); properties.ContentEncoding = basicProperties.ContentEncoding; properties.ContentType = basicProperties.ContentType; properties.CorrelationId = basicProperties.CorrelationId; properties.MessageId = basicProperties.MessageId; properties.Persistent = basicProperties.Persistent; properties.ReplyTo = basicProperties.ReplyTo; properties.Headers = basicProperties.Headers.ToDictionary(kv => kv.Key, kv => kv.Value.ToString()); return(properties); }