Skip to content

Commit 9d991a8

Browse files
authored
make MaxEntries flag configurable (#147)
1 parent e0623a4 commit 9d991a8

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/Helldivers-2-Sync/Configuration/HelldiversSyncConfiguration.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,9 @@ public sealed class HelldiversSyncConfiguration
3030
/// This is used in CI testing to validate sync works.
3131
/// </summary>
3232
public bool RunOnce { get; set; } = false;
33+
34+
/// <summary>
35+
/// Get the maximum number of entries returned by ArrowHead from the newsfeed API.
36+
/// </summary>
37+
public uint NewsFeedMaxEntries { get; set; } = 2048;
3338
}

src/Helldivers-2-Sync/Services/ArrowHeadApiService.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,11 @@ public async Task<Memory<byte>> GetWarStatus(string season, string language, Can
7373
/// </summary>
7474
public async Task<Memory<byte>> LoadFeed(string season, string language, CancellationToken cancellationToken)
7575
{
76-
var request = BuildRequest($"/api/NewsFeed/{season}", language);
76+
// If the `NewsFeedMaxEntries` flag is not set to 0 we pass it in.
77+
var request = options.Value.NewsFeedMaxEntries is 0
78+
? BuildRequest($"/api/NewsFeed/{season}", language)
79+
: BuildRequest($"/api/NewsFeed/{season}?maxEntries=${options.Value.NewsFeedMaxEntries}", language);
80+
7781
using var response = await http.SendAsync(request, cancellationToken);
7882

7983
// Throw on error responses so we don't have to look down the entire serialisation tree.
@@ -102,7 +106,8 @@ public async Task<Memory<byte>> LoadAssignments(string season, string language,
102106
/// <summary>
103107
/// Loads space station of a given <paramref name="season" /> and <paramref name="id"/> in <paramref name="language" />.
104108
/// </summary>
105-
public async Task<Memory<byte>> LoadSpaceStations(string season, long id, string language, CancellationToken cancellationToken)
109+
public async Task<Memory<byte>> LoadSpaceStations(string season, long id, string language,
110+
CancellationToken cancellationToken)
106111
{
107112
var request = BuildRequest($"/api/SpaceStation/{season}/{id}", language);
108113
using var response = await http.SendAsync(request, cancellationToken);

0 commit comments

Comments
 (0)