/// <inheritdoc/> public override async ValueTask<TResponse> InvokeBindingAsync<TRequest, TResponse>( string name, string operation, TRequest data, Dictionary<string, string> metadata = default, CancellationToken cancellationToken = default) { ArgumentVerifier.ThrowIfNullOrEmpty(name, nameof(name)); ArgumentVerifier.ThrowIfNullOrEmpty(operation, nameof(operation)); Autogenerated.InvokeBindingResponse response = await MakeInvokeBindingRequestAsync(name, operation, data, metadata, cancellationToken); return ConvertFromInvokeBindingResponse<TResponse>(response, this.jsonSerializerOptions); }
private static T ConvertFromInvokeBindingResponse <T>(Autogenerated.InvokeBindingResponse response, JsonSerializerOptions options = null) { var responseData = response.Data.ToStringUtf8(); return(JsonSerializer.Deserialize <T>(responseData, options)); }