mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Merge pull request #1808 from wabbajack-tools/retry-steam-calls
Add retry logic to GetAppManifest
This commit is contained in:
2
.github/workflows/tests.yaml
vendored
2
.github/workflows/tests.yaml
vendored
@ -7,7 +7,7 @@ on:
|
|||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
VERSION: 3.0.0.0-beta5
|
VERSION: 3.0.0.0-beta6
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -376,9 +376,12 @@ public class Client : IDisposable
|
|||||||
public async Task<DepotManifest> GetAppManifest(uint appId, uint depotId, ulong manifestId)
|
public async Task<DepotManifest> GetAppManifest(uint appId, uint depotId, ulong manifestId)
|
||||||
{
|
{
|
||||||
await LoadCDNServers();
|
await LoadCDNServers();
|
||||||
var client = _cdnServers.First();
|
|
||||||
|
|
||||||
var uri = new UriBuilder()
|
var manifest = await CircuitBreaker.WithAutoRetryAsync<DepotManifest, HttpRequestException>(_logger, async () =>
|
||||||
|
{
|
||||||
|
|
||||||
|
var client = _cdnServers.First();
|
||||||
|
var uri = new UriBuilder
|
||||||
{
|
{
|
||||||
Host = client.Host,
|
Host = client.Host,
|
||||||
Port = client.Port,
|
Port = client.Port,
|
||||||
@ -393,7 +396,9 @@ public class Client : IDisposable
|
|||||||
var data = new MemoryStream();
|
var data = new MemoryStream();
|
||||||
await using var entryStream = firstEntry.Open();
|
await using var entryStream = firstEntry.Open();
|
||||||
await entryStream.CopyToAsync(data);
|
await entryStream.CopyToAsync(data);
|
||||||
var manifest = DepotManifest.Deserialize(data.ToArray());
|
return DepotManifest.Deserialize(data.ToArray());
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
if (manifest.FilenamesEncrypted)
|
if (manifest.FilenamesEncrypted)
|
||||||
manifest.DecryptFilenames(await GetDepotKey(depotId, appId));
|
manifest.DecryptFilenames(await GetDepotKey(depotId, appId));
|
||||||
|
Reference in New Issue
Block a user