diff --git a/src/JsonRpc/Receiver.cs b/src/JsonRpc/Receiver.cs index 9b7c3dcee..201d7f233 100644 --- a/src/JsonRpc/Receiver.cs +++ b/src/JsonRpc/Receiver.cs @@ -100,20 +100,25 @@ protected virtual Renor GetRenor(JToken @object) var properties = request.Properties().ToLookup(z => z.Name, StringComparer.OrdinalIgnoreCase); + var traceStateProperty = properties["tracestate"].FirstOrDefault(); + var traceState = traceStateProperty?.Value.ToString(); + var traceParentProperty = properties["traceparent"].FirstOrDefault(); + var traceParent = traceParentProperty?.Value.ToString(); + // id == request // !id == notification if (!hasRequestId) { return new Notification(method!, @params) { - TraceState = properties["tracestate"].FirstOrDefault()?.Value(), - TraceParent = properties["traceparent"].FirstOrDefault()?.Value() + TraceState = traceState, + TraceParent = traceParent, }; } else { return new Request(requestId!, method!, @params) { - TraceState = properties["tracestate"].FirstOrDefault()?.Value(), - TraceParent = properties["traceparent"].FirstOrDefault()?.Value() + TraceState = traceState, + TraceParent = traceParent, }; } }