/// <inheritdoc/> public override async Task <TResponse> InvokeBindingAsync <TRequest, TResponse>( string bindingName, string operation, TRequest data, IReadOnlyDictionary <string, string> metadata = default, CancellationToken cancellationToken = default) { ArgumentVerifier.ThrowIfNullOrEmpty(bindingName, nameof(bindingName)); ArgumentVerifier.ThrowIfNullOrEmpty(operation, nameof(operation)); Autogenerated.InvokeBindingResponse response = await MakeInvokeBindingRequestAsync(bindingName, 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)); }