public static async ValueTask <Completion> WriteToAsync(TextWriter writer, TextEncoder encoder, TemplateContext context) { var activityExecutionContext = (ActivityExecutionContext)context.Model; var correlationId = activityExecutionContext.CorrelationId !; var clientState = new ClientStatePayload(correlationId); await writer.WriteLineAsync(clientState.ToBase64()); return(Completion.Normal); }
private string GetCorrelationId(Payload payload) { if (!string.IsNullOrWhiteSpace(payload.ClientState)) { var clientStatePayload = ClientStatePayload.FromBase64(payload.ClientState); return(clientStatePayload.CorrelationId); } if (payload is CallPayload callPayload) { return(callPayload.CallSessionId); } throw new NotSupportedException($"The received payload type {payload.GetType().Name} is not supported yet."); }