From b3416f9a5f94132695ebb5a18695c705393a579b Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Sun, 7 Dec 2025 02:26:45 +0900 Subject: [PATCH] =?UTF-8?q?Dual=20HttpClient=20setup=20matches=20intent;?= =?UTF-8?q?=20make=20Legacy=20behavior=20explicitly=20=E2=80=9Cno=20decomp?= =?UTF-8?q?ression=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dual HttpClient setup matches intent; make Legacy behavior explicitly “no decompression” --- WelsonJS.Toolkit/WelsonJS.Launcher/AssemblyLoader.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/AssemblyLoader.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/AssemblyLoader.cs index 83d141f..7a8507d 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/AssemblyLoader.cs +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/AssemblyLoader.cs @@ -36,13 +36,16 @@ namespace WelsonJS.Launcher private static bool _registered; private static readonly string LoaderNamespace = typeof(AssemblyLoader).Namespace ?? "WelsonJS.Launcher"; - private static readonly HttpClientHandler LegacyHttpHandler = new HttpClientHandler(); + private static readonly HttpClientHandler LegacyHttpHandler = new HttpClientHandler + { + AutomaticDecompression = DecompressionMethods.None + }; private static readonly HttpClientHandler HttpHandler = new HttpClientHandler { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; - private static readonly HttpClient LegacyHttp = CreateClient(LegacyHttpHandler); // No the Accept-Encoding (e.g., gzip, deflate) header - private static readonly HttpClient Http = CreateClient(HttpHandler); // With the Accept-Encoding (e.g., gzip, deflate) header + private static readonly HttpClient LegacyHttp = CreateClient(LegacyHttpHandler); // Does not send Accept-Encoding (gzip, deflate) + private static readonly HttpClient Http = CreateClient(HttpHandler); // Sends Accept-Encoding (gzip, deflate) and auto-decompresses private static HttpClient CreateClient(HttpMessageHandler handler) { @@ -387,7 +390,10 @@ namespace WelsonJS.Launcher using (var res = LegacyHttp.GetAsync(gzUrl).GetAwaiter().GetResult()) { if (res.StatusCode == HttpStatusCode.NotFound) + { + Logger?.Info("No gzipped variant at {0}; falling back to uncompressed URL.", gzUrl); return false; + } res.EnsureSuccessStatusCode();