private void WriteCompletionMessage(CompletionMessage message, Utf8JsonWriter writer) { WriteInvocationId(message, writer); if (!string.IsNullOrEmpty(message.Error)) { writer.WriteString(ErrorPropertyNameBytes, message.Error); } else if (message.HasResult) { writer.WritePropertyName(ResultPropertyNameBytes); JsonSerializer.Serialize(writer, message.Result, message.Result?.GetType(), _payloadSerializerOptions); } }
private void WriteCompletionMessage(CompletionMessage message, Utf8JsonWriter writer) { WriteInvocationId(message, writer); if (!string.IsNullOrEmpty(message.Error)) { writer.WriteString(ErrorPropertyNameBytes, message.Error); } else if (message.HasResult) { using var token = GetParsedObject(message.Result, message.Result?.GetType()); token.RootElement.WriteAsProperty(ResultPropertyNameBytes.EncodedUtf8Bytes, writer); } }
private void WriteCompletionMessage(CompletionMessage message, JsonTextWriter writer) { WriteInvocationId(message, writer); if (!string.IsNullOrEmpty(message.Error)) { writer.WritePropertyName(ErrorPropertyName); writer.WriteValue(message.Error); } else if (message.HasResult) { writer.WritePropertyName(ResultPropertyName); PayloadSerializer.Serialize(writer, message.Result); } }
private void WriteCompletionMessage(CompletionMessage message, ref MessagePackWriter writer) { var resultKind = message.Error != null ? ErrorResult : message.HasResult ? NonVoidResult : VoidResult; writer.WriteArrayHeader(4 + (resultKind != VoidResult ? 1 : 0)); writer.Write(HubProtocolConstants.CompletionMessageType); PackHeaders(message.Headers, ref writer); writer.Write(message.InvocationId); writer.Write(resultKind); switch (resultKind) { case ErrorResult: writer.Write(message.Error); break; case NonVoidResult: WriteArgument(message.Result, ref writer); break; } }