fix Executable plugin's JsonRPC request string

This is a fix of Executable plugin's JsonRPC request string for ProcessStartInfo, but tested and should be used specifically for Typescript + JavaScript plugin
This commit is contained in:
Jeremy 2021-12-24 19:07:51 +11:00
parent a53760b872
commit bf0e4ba452

View file

@ -1,5 +1,4 @@
using System; using System.Diagnostics;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -22,17 +21,22 @@ namespace Flow.Launcher.Core.Plugin
RedirectStandardOutput = true, RedirectStandardOutput = true,
RedirectStandardError = true RedirectStandardError = true
}; };
// required initialisation for below request calls
_startInfo.ArgumentList.Add(string.Empty);
} }
protected override Task<Stream> RequestAsync(JsonRPCRequestModel request, CancellationToken token = default) protected override Task<Stream> RequestAsync(JsonRPCRequestModel request, CancellationToken token = default)
{ {
_startInfo.Arguments = $"\"{request}\""; // since this is not static, request strings will build up in ArgumentList if index is not specified
_startInfo.ArgumentList[0] = request.ToString();
return ExecuteAsync(_startInfo, token); return ExecuteAsync(_startInfo, token);
} }
protected override string Request(JsonRPCRequestModel rpcRequest, CancellationToken token = default) protected override string Request(JsonRPCRequestModel rpcRequest, CancellationToken token = default)
{ {
_startInfo.Arguments = $"\"{rpcRequest}\""; // since this is not static, request strings will build up in ArgumentList if index is not specified
_startInfo.ArgumentList[0] = rpcRequest.ToString();
return Execute(_startInfo); return Execute(_startInfo);
} }
} }