diff --git a/perf/benchmarkapps/GrpcClient/Program.cs b/perf/benchmarkapps/GrpcClient/Program.cs index dd737563b..c5c125576 100644 --- a/perf/benchmarkapps/GrpcClient/Program.cs +++ b/perf/benchmarkapps/GrpcClient/Program.cs @@ -62,7 +62,21 @@ class Program public static async Task Main(string[] args) { - var urlOption = new Option("--url", ["-u"]) { Description = "The server url to request", Required = true }; + var urlOption = new Option("--url", ["-u"]) + { + Description = "The server url to request", + Required = true, + CustomParser = result => + { + var token = result.Tokens.SingleOrDefault(); + if (token is null || !Uri.TryCreate(token.Value, UriKind.Absolute, out var uri)) + { + result.AddError("The --url option requires a valid absolute URI."); + return null; + } + return uri; + } + }; var udsFileNameOption = new Option("--udsFileName") { Description = "The Unix Domain Socket file name" }; var namedPipeNameOption = new Option("--namedPipeName") { Description = "The Named Pipe name" }; var connectionsOption = new Option("--connections", ["-c"]) { DefaultValueFactory = (r) => 1, Description = "Total number of connections to keep open" };