Skip to content

Commit e2617a7

Browse files
authored
Merge pull request #2841 from DGP-Studio/develop
2 parents eee0ef8 + 7751fa3 commit e2617a7

File tree

6 files changed

+35
-7
lines changed

6 files changed

+35
-7
lines changed

src/Snap.Hutao/Snap.Hutao/Core/Caching/ImageCacheDownloadOperation.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,14 @@ public async ValueTask DownloadFileAsync(Uri uri, string baseFile)
2525
{
2626
using (HttpClient httpClient = httpClientFactory.CreateClient(nameof(ImageCacheDownloadOperation)))
2727
{
28-
await DownloadFileUsingHttpClientAsync(httpClient, uri, baseFile).ConfigureAwait(false);
28+
try
29+
{
30+
await DownloadFileUsingHttpClientAsync(httpClient, uri, baseFile).ConfigureAwait(false);
31+
}
32+
catch (HttpRequestException)
33+
{
34+
// Ignore
35+
}
2936
}
3037

3138
if (!File.Exists(baseFile))

src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/IocHttpClientConfiguration.cs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
using Snap.Hutao.Service.Game.Package.Advanced;
88
using Snap.Hutao.Web.Hoyolab;
99
using Snap.Hutao.Win32;
10+
using System.Globalization;
1011
using System.Net.Http;
1112
using System.Net.Mime;
13+
using System.Text;
1214

1315
namespace Snap.Hutao.Core.DependencyInjection;
1416

@@ -52,11 +54,9 @@ private static void DefaultConfiguration(IServiceProvider serviceProvider, HttpC
5254
{
5355
client.Timeout = Timeout.InfiniteTimeSpan;
5456
client.DefaultRequestHeaders.UserAgent.ParseAdd(HutaoRuntime.UserAgent);
55-
client.DefaultRequestHeaders.Add("x-hutao-device-name", Environment.MachineName);
5657
client.DefaultRequestHeaders.Add("x-hutao-device-id", HutaoRuntime.DeviceId);
57-
58-
HutaoPrivateWindowsVersion windowsVersion = HutaoNative.Instance.GetCurrentWindowsVersion();
59-
client.DefaultRequestHeaders.Add("x-hutao-device-os", $"Windows {windowsVersion}");
58+
client.DefaultRequestHeaders.Add("x-hutao-device-os", $"Windows {HutaoNative.Instance.GetCurrentWindowsVersion()}");
59+
client.DefaultRequestHeaders.Add("x-hutao-device-name", EncodeNonAsciiChars(Environment.MachineName));
6060
}
6161

6262
[UsedImplicitly]
@@ -128,4 +128,22 @@ private static void XRpc6Configuration(HttpClient client)
128128
client.DefaultRequestHeaders.Add("x-rpc-app_id", "ddxf6vlr1reo");
129129
client.DefaultRequestHeaders.Add("x-rpc-client_type", "3");
130130
}
131+
132+
private static string EncodeNonAsciiChars(string value)
133+
{
134+
StringBuilder sb = new();
135+
foreach (char c in value)
136+
{
137+
if (c > 127)
138+
{
139+
sb.Append("\\u").Append(((int)c).ToString("x4", CultureInfo.InvariantCulture));
140+
}
141+
else
142+
{
143+
sb.Append(c);
144+
}
145+
}
146+
147+
return sb.ToString();
148+
}
131149
}

src/Snap.Hutao/Snap.Hutao/Package.appxmanifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<Identity
1414
Name="60568DGPStudio.SnapHutao"
1515
Publisher="CN=35C8E923-85DF-49A7-9172-B39DC6312C52"
16-
Version="1.15.5.0" />
16+
Version="1.15.6.0" />
1717

1818
<Properties>
1919
<DisplayName>Snap Hutao</DisplayName>

src/Snap.Hutao/Snap.Hutao/Package.development.appxmanifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<Identity
1414
Name="60568DGPStudio.SnapHutaoDev"
1515
Publisher="CN=35C8E923-85DF-49A7-9172-B39DC6312C52"
16-
Version="1.15.5.0" />
16+
Version="1.15.6.0" />
1717

1818
<Properties>
1919
<DisplayName>Snap Hutao Dev</DisplayName>

src/Snap.Hutao/Snap.Hutao/Web/NetworkError.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ internal enum NetworkError
1515
ERR_CONNECTION_NETWORK_UNREACHABLE,
1616
ERR_CONNECTION_NO_BUFFER_SPACE_AVAILABLE,
1717
ERR_CONNECTION_NO_DATA,
18+
ERR_CONNECTION_NOT_SOCKET,
1819
ERR_CONNECTION_TIMED_OUT,
1920
ERR_NAME_RESOLUTION_HOST_NOT_FOUND,
2021
ERR_PROXY_TUNNEL_ERROR,

src/Snap.Hutao/Snap.Hutao/Web/Request/Builder/HttpRequestExceptionHandling.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ public static NetworkError HttpRequestExceptionToNetworkError(HttpRequestExcepti
127127
return NetworkError.ERR_CONNECTION_NO_BUFFER_SPACE_AVAILABLE;
128128
case SocketError.NoData:
129129
return NetworkError.ERR_CONNECTION_NO_DATA;
130+
case SocketError.NotSocket:
131+
return NetworkError.ERR_CONNECTION_NOT_SOCKET;
130132
case SocketError.TimedOut:
131133
return NetworkError.ERR_CONNECTION_TIMED_OUT;
132134
}

0 commit comments

Comments
 (0)