Compare commits

...

3 Commits

2 changed files with 12 additions and 10 deletions

View File

@ -79,17 +79,15 @@ internal sealed class TrangaCli : Command<TrangaCli.Settings>
switch (menuSelect) switch (menuSelect)
{ {
case "CustomRequest": case "CustomRequest":
string requestType = AnsiConsole.Prompt( HttpMethod requestMethod = AnsiConsole.Prompt(
new SelectionPrompt<string>() new SelectionPrompt<HttpMethod>()
.Title("Request Type") .Title("Request Type")
.AddChoices(new[] .AddChoices(new[]
{ {
"GET", HttpMethod.Get,
"POST", HttpMethod.Delete,
"DELETE" HttpMethod.Post
})); }));
HttpMethod method = requestType == "GET" ? HttpMethod.Get :
requestType == "DELETE" ? HttpMethod.Delete : HttpMethod.Post;
string requestPath = AnsiConsole.Prompt( string requestPath = AnsiConsole.Prompt(
new TextPrompt<string>("Request Path:")); new TextPrompt<string>("Request Path:"));
List<ValueTuple<string, string>> parameters = new(); List<ValueTuple<string, string>> parameters = new();
@ -108,12 +106,13 @@ internal sealed class TrangaCli : Command<TrangaCli.Settings>
requestString += $"{parameter.Item1}={parameter.Item2}&"; requestString += $"{parameter.Item1}={parameter.Item2}&";
} }
HttpRequestMessage request = new HttpRequestMessage(method, requestString); HttpRequestMessage request = new (requestMethod, requestString);
AnsiConsole.WriteLine($"Request: {request.Method} {request.RequestUri}"); AnsiConsole.WriteLine($"Request: {request.Method} {request.RequestUri}");
HttpResponseMessage response; HttpResponseMessage response;
if (AnsiConsole.Confirm("Send Request?")) if (AnsiConsole.Confirm("Send Request?"))
response = client.Send(request); response = client.Send(request);
else break; else break;
AnsiConsole.WriteLine($"Response: {(int)response.StatusCode} {response.StatusCode}");
AnsiConsole.WriteLine(response.Content.ReadAsStringAsync().Result); AnsiConsole.WriteLine(response.Content.ReadAsStringAsync().Result);
break; break;
case "Log": case "Log":
@ -133,9 +132,12 @@ internal sealed class TrangaCli : Command<TrangaCli.Settings>
context.UpdateTarget(rows); context.UpdateTarget(rows);
} }
Thread.Sleep(100); Thread.Sleep(100);
if (Console.KeyAvailable) if (AnsiConsole.Console.Input.IsKeyAvailable())
{
AnsiConsole.Console.Input.ReadKey(true); //Do not process input
running = false; running = false;
} }
}
}); });
break; break;
case "Exit": case "Exit":

View File

@ -14,7 +14,7 @@ public class MemoryLogger : LoggerBase
protected override void Write(LogMessage value) protected override void Write(LogMessage value)
{ {
while(!_logMessages.TryAdd(value.logTime, value)) while(!_logMessages.TryAdd(DateTime.Now, value))
Thread.Sleep(10); Thread.Sleep(10);
} }