@@ -110,76 +110,30 @@ public static MessageContext<TMessage> CreateFromEnvelope<TMessage>(
110110 userHeaders [ key ] = HeaderValueNormalizer . Normalize ( value ) ;
111111 }
112112
113- return BuildTyped (
114- message ,
115- publisher ,
116- sendEndpointProvider ,
117- envelope . MessageId ,
118- envelope . CorrelationId ?? string . Empty ,
119- envelope . RequestId ?? envelope . CorrelationId ,
120- routingKey ,
121- userHeaders ,
122- redelivered ,
123- retryCount ,
124- envelope . ConversationId ,
125- envelope . InitiatorId ,
126- ParseAddress ( envelope . SourceAddress ) ,
127- ParseAddress ( envelope . DestinationAddress ) ,
128- ParseAddress ( envelope . ResponseAddress )
129- ?? ( string . IsNullOrEmpty ( replyToFallback ) ? null : new Uri ( $ "queue:{ replyToFallback } ") ) ,
130- ParseAddress ( envelope . FaultAddress ) ,
131- envelope . SentTime ,
132- envelope . ExpirationTime ,
133- cancellationToken ) ;
134- }
135-
136- /// <summary>
137- /// Constructs a live typed <see cref="MessageContext{TMessage}"/> from already-resolved metadata. Shared by
138- /// <see cref="CreateFromEnvelope{TMessage}"/> (the standard envelope receive path) and the RabbitMQ transport's
139- /// bare-JSON compat path, which resolve these values from their own wire representations — a parsed
140- /// <see cref="MessageEnvelope"/> versus raw AMQP properties/headers — before delegating the final mapping here.
141- /// </summary>
142- internal static MessageContext < TMessage > BuildTyped < TMessage > (
143- TMessage message ,
144- IPublisher ? publisher ,
145- ISendEndpointProvider ? sendEndpointProvider ,
146- string ? messageId ,
147- string ? correlationId ,
148- string ? requestId ,
149- string routingKey ,
150- IReadOnlyDictionary < string , object ? > headers ,
151- bool redelivered ,
152- int retryCount ,
153- string ? conversationId ,
154- string ? initiatorId ,
155- Uri ? sourceAddress ,
156- Uri ? destinationAddress ,
157- Uri ? responseAddress ,
158- Uri ? faultAddress ,
159- DateTimeOffset ? sentTime ,
160- DateTimeOffset ? expirationTime ,
161- CancellationToken cancellationToken ) => new MessageContext < TMessage >
113+ return new MessageContext < TMessage >
162114 {
163115 Message = message ,
164116 Publisher = publisher ,
165117 SendEndpointProvider = sendEndpointProvider ,
166118 CancellationToken = cancellationToken ,
167- MessageId = messageId ,
168- CorrelationId = correlationId ,
169- RequestId = requestId ,
119+ MessageId = envelope . MessageId ,
120+ CorrelationId = envelope . CorrelationId ?? string . Empty ,
121+ RequestId = envelope . RequestId ?? envelope . CorrelationId ,
170122 RoutingKey = routingKey ,
171- Headers = headers ,
123+ Headers = userHeaders ,
172124 Redelivered = redelivered ,
173125 RetryCount = retryCount ,
174- ConversationId = conversationId ,
175- InitiatorId = initiatorId ,
176- SourceAddress = sourceAddress ,
177- DestinationAddress = destinationAddress ,
178- ResponseAddress = responseAddress ,
179- FaultAddress = faultAddress ,
180- SentTime = sentTime ,
181- ExpirationTime = expirationTime ,
126+ ConversationId = envelope . ConversationId ,
127+ InitiatorId = envelope . InitiatorId ,
128+ SourceAddress = ParseAddress ( envelope . SourceAddress ) ,
129+ DestinationAddress = ParseAddress ( envelope . DestinationAddress ) ,
130+ ResponseAddress = ParseAddress ( envelope . ResponseAddress )
131+ ?? ( string . IsNullOrEmpty ( replyToFallback ) ? null : new Uri ( $ "queue:{ replyToFallback } ") ) ,
132+ FaultAddress = ParseAddress ( envelope . FaultAddress ) ,
133+ SentTime = envelope . SentTime ,
134+ ExpirationTime = envelope . ExpirationTime ,
182135 } ;
136+ }
183137
184138 /// <summary>
185139 /// Auto-propagates correlation metadata (correlation, conversation, initiator) from this incoming context onto
0 commit comments