From 64ccdcb39b1a09dab97e192ccffd373e8ace683d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 22 Mar 2026 16:46:33 +0000 Subject: [PATCH] Address code review feedback - Replace GetAwaiter().GetResult() with synchronous ReadAsStream() - Use JsonNode.DeepClone() instead of serialize/parse round-trip - Extract timeout magic number to named constant Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com> Agent-Logs-Url: https://github.com/milutinke/Minecraft-Console-Client/sessions/afcd1b7b-ea23-4a0d-bb46-a90b623406fc --- MinecraftClient/Protocol/Message/ChatParser.cs | 2 +- MinecraftClient/Protocol/ProxiedWebRequest.cs | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/MinecraftClient/Protocol/Message/ChatParser.cs b/MinecraftClient/Protocol/Message/ChatParser.cs index 383421d7..c0c1e03d 100644 --- a/MinecraftClient/Protocol/Message/ChatParser.cs +++ b/MinecraftClient/Protocol/Message/ChatParser.cs @@ -473,7 +473,7 @@ namespace MinecraftClient.Protocol.Message { List using_data = new(); if (obj.ContainsKey("using") && !obj.ContainsKey("with")) - obj["with"] = System.Text.Json.Nodes.JsonNode.Parse(obj["using"]!.ToJsonString()); + obj["with"] = obj["using"]!.DeepClone(); if (obj.ContainsKey("with")) { foreach (var item in obj["with"]!.AsArray()) diff --git a/MinecraftClient/Protocol/ProxiedWebRequest.cs b/MinecraftClient/Protocol/ProxiedWebRequest.cs index 247a65e9..16724b71 100644 --- a/MinecraftClient/Protocol/ProxiedWebRequest.cs +++ b/MinecraftClient/Protocol/ProxiedWebRequest.cs @@ -13,6 +13,8 @@ namespace MinecraftClient.Protocol /// public class ProxiedWebRequest { + private const int DefaultConnectTimeoutSeconds = 30; + private readonly Uri _uri; public NameValueCollection Headers { get; } = new(); @@ -113,7 +115,9 @@ namespace MinecraftClient.Protocol try { using var httpResponse = client.Send(request); - string responseBody = httpResponse.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + using var stream = httpResponse.Content.ReadAsStream(); + using var reader = new System.IO.StreamReader(stream); + string responseBody = reader.ReadToEnd(); var responseHeaders = new NameValueCollection(); foreach (var header in httpResponse.Headers) @@ -150,7 +154,7 @@ namespace MinecraftClient.Protocol UseCookies = true, CookieContainer = new CookieContainer(), AllowAutoRedirect = false, - ConnectTimeout = TimeSpan.FromSeconds(30), + ConnectTimeout = TimeSpan.FromSeconds(DefaultConnectTimeoutSeconds), }; if (ProxyHandler.Config.Enabled_Login)