protected virtual void AppendHeaders(ChannelMessage message, IBasicProperties properties) { var headers = message.Headers; headers[RabbitHeaderFormat.FormatWith("appId")] = properties.AppId; headers[RabbitHeaderFormat.FormatWith("clusterId")] = properties.ClusterId; headers[RabbitHeaderFormat.FormatWith("userId")] = properties.UserId; headers[RabbitHeaderFormat.FormatWith("type")] = properties.Type; headers[RabbitHeaderFormat.FormatWith("priority")] = properties.Priority.ToString(CultureInfo.InvariantCulture); var encoding = Encoding.UTF8; foreach (var key in properties.Headers.Keys) { var value = properties.Headers[key]; if (value is int) { headers[key] = ((int)value).ToString(CultureInfo.InvariantCulture); } else { headers[key] = encoding.GetString((byte[])value); } } }
public virtual void AppendRetryAddress(BasicDeliverEventArgs message) { if (message == null) { throw new ArgumentNullException("message"); } var address = RetryAddressValueFormat.FormatWith(this.configuration.InputQueue); message.BasicProperties.Headers[RabbitHeaderFormat.FormatWith(RetryAddressHeaderKey)] = address; Log.Verbose("Poison message source address is '{0}'", address); }