Skip to content

Commit 7803ba3

Browse files
committed
More verbose logging on debug for HonkaiRepair
1 parent f1491e1 commit 7803ba3

4 files changed

Lines changed: 33 additions & 7 deletions

File tree

CollapseLauncher/Classes/CachesManagement/Honkai/Fetch.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ private async Task<List<CacheAsset>> Fetch(CancellationToken token)
3636
.SetAllowedDecompression(DecompressionMethods.None)
3737
.Create();
3838

39+
#if DEBUG
40+
// Assign Dispatcher Logger for Debug
41+
KianaDispatch.DebugLogger = ILoggerHelper.GetILogger("KianaDispatch");
42+
#endif
43+
3944
// Build _gameRepoURL from loading Dispatcher and Gateway
4045
await BuildGameRepoURL(httpClientNew, token);
4146

CollapseLauncher/Classes/RepairManagement/HonkaiV2/HonkaiRepairV2.AsbExt.Cache.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,11 @@ internal static async Task<KianaDispatch> GetGameServerInfoAsync(
336336
throw new NullReferenceException("GameGatewayDefault cannot be empty on the game preset");
337337
}
338338

339+
#if DEBUG
340+
// Assign Dispatcher Logger for Debug
341+
KianaDispatch.DebugLogger = ILoggerHelper.GetILogger("KianaDispatch");
342+
#endif
343+
339344
Exception? lastException = null;
340345
for (int i = 0; i < presetConfig.GameDispatchArrayURL?.Count; i++)
341346
{

CollapseLauncher/Classes/RepairManagement/HonkaiV2/HonkaiRepairV2.Repair.cs

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,29 @@ await Parallel.ForEachAsync(AssetIndex,
6565

6666
ValueTask Impl(FilePropertiesRemote asset, CancellationToken token)
6767
{
68-
return asset switch
68+
try
6969
{
70-
{ AssociatedObject: SophonAsset } => RepairAssetGenericSophonType(asset, token),
71-
{ FT : FileType.Audio } => RepairAssetAudioType(asset, token),
72-
{ FT : FileType.Block } => RepairAssetBlockType(asset, token),
73-
_ => RepairAssetGenericType(GetHttpClientFromFilename(asset), asset, token)
74-
};
70+
return asset switch
71+
{
72+
{ AssociatedObject: SophonAsset } => RepairAssetGenericSophonType(asset, token),
73+
{ FT: FileType.Audio } => RepairAssetAudioType(asset, token),
74+
{ FT: FileType.Block } => RepairAssetBlockType(asset, token),
75+
_ => RepairAssetGenericType(GetHttpClientFromFilename(asset), asset, token)
76+
};
77+
}
78+
catch (HttpRequestException httpEx)
79+
{
80+
string message = "An HTTP error has occurred while trying to download this following asset:" +
81+
$"""
82+
Asset Path: {asset.N}
83+
Asset Remote URL: {asset.RN}
84+
Asset Size: {asset.S}
85+
Asset Hash: {asset.CRC}
86+
Type: {asset.FT}
87+
Object Association: {(asset.AssociatedObject is var obj ? obj.GetType().Name : "GenericDownload")}
88+
""";
89+
throw new HttpRequestException(httpEx.HttpRequestError, message, httpEx, httpEx.StatusCode);
90+
}
7591
}
7692

7793
HttpClient GetHttpClientFromFilename(FilePropertiesRemote asset)

0 commit comments

Comments
 (0)