protected void AddTraceHeadersForRoutingBackReply(BaseForwardRuleContext context) { if (!context.ForwardedHeaders.ContainsKey(RouterHeaders.ReplyToRouter)) { UnwrapCorrelationIdAndSetTraceHeader(context); } var newCorrelationId = TLV .Encode("iface", context.IncomingInterface); if (context.ForwardedHeaders.TryGetValue(RouterHeaders.ReplyToRouter, out var replyToRouter)) { newCorrelationId = newCorrelationId.AppendTLV("reply-to-router", replyToRouter); } else if (context.ForwardedHeaders.TryGetValue(Headers.ReplyToAddress, out var replyToHeader)) { newCorrelationId = newCorrelationId.AppendTLV("reply-to", replyToHeader); } if (context.ForwardedHeaders.TryGetValue(Headers.CorrelationId, out var correlationId)) { newCorrelationId = newCorrelationId.AppendTLV("id", correlationId); } context.ForwardedHeaders[Headers.CorrelationId] = newCorrelationId; context.ForwardedHeaders[Headers.ReplyToAddress] = localAddress; context.ForwardedHeaders[RouterHeaders.ReplyToRouter] = endpointName; }
void AddTrace(TransportOperation op) { if (op.Message.Headers.TryGetValue("NServiceBus.Bridge.Trace", out var trace)) { trace = trace.AppendTLV("via", endpointName); } else { trace = TLV.Encode("via", endpointName); } op.Message.Headers["NServiceBus.Bridge.Trace"] = trace; }