Skip to content

Commit fad53bc

Browse files
committed
Define various shared rate-limit params
1 parent 867a89a commit fad53bc

23 files changed

Lines changed: 216 additions & 19 deletions
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Refresh.Core.RateLimits.Comment;
2+
3+
public static class CommentListEndpointLimits
4+
{
5+
public const int TimeoutDuration = 420;
6+
public const int RequestAmount = 25;
7+
public const int BlockDuration = 300;
8+
public const string RequestBucket = "comment-list";
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Refresh.Core.RateLimits.Comment;
2+
3+
public static class CommentUploadEndpointLimits
4+
{
5+
public const int TimeoutDuration = 420;
6+
public const int RequestAmount = 18;
7+
public const int BlockDuration = 300;
8+
public const string RequestBucket = "comment-upload";
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Refresh.Core.RateLimits.Comment;
2+
3+
public static class SingleCommentEndpointLimits
4+
{
5+
public const int TimeoutDuration = 420;
6+
public const int RequestAmount = 12;
7+
public const int BlockDuration = 300;
8+
public const string RequestBucket = "single-comment";
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Refresh.Core.RateLimits.Levels;
2+
3+
public static class LevelListEndpointLimits
4+
{
5+
public const int TimeoutDuration = 450;
6+
public const int RequestAmount = 60;
7+
public const int BlockDuration = 300;
8+
public const string RequestBucket = "level-list";
9+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
namespace Refresh.Core.RateLimits.Levels;
2+
3+
public static class SingleLevelEndpointLimits
4+
{
5+
public const int TimeoutDuration = 300;
6+
public const int ApiRequestAmount = 50;
7+
public const int GameRequestAmount = 280; // Game likes to request them a lot
8+
public const int BlockDuration = 240;
9+
public const string ApiRequestBucket = "single-level-api";
10+
public const string GameRequestBucket = "single-level-game";
11+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Refresh.Core.RateLimits.Photos;
2+
3+
public static class PhotoListEndpointLimits
4+
{
5+
public const int TimeoutDuration = 450;
6+
public const int RequestAmount = 30;
7+
public const int BlockDuration = 300;
8+
public const string RequestBucket = "photo-list";
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Refresh.Core.RateLimits.Photos;
2+
3+
public static class SinglePhotoEndpointLimits
4+
{
5+
public const int TimeoutDuration = 450;
6+
public const int RequestAmount = 20;
7+
public const int BlockDuration = 300;
8+
public const string RequestBucket = "single-photo";
9+
}

Refresh.Core/RateLimits/PlaylistEndpointLimits.cs renamed to Refresh.Core/RateLimits/Playlists/PlaylistCreationEndpointLimits.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
namespace Refresh.Core.RateLimits;
1+
namespace Refresh.Core.RateLimits.Playlists;
22

33
/// <summary>
44
/// Shared rate limit parameters for game and API playlist endpoints
55
/// </summary>
6-
public static class PlaylistEndpointLimits
6+
public static class PlaylistCreationEndpointLimits
77
{
8-
// rate-limits
98
public const int UploadTimeoutDuration = 450;
109
public const int MaxCreateAmount = 8; // should be enough
1110
public const int MaxUpdateAmount = 12;
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Refresh.Core.RateLimits.Playlists;
2+
3+
public static class PlaylistListEndpointLimits
4+
{
5+
public const int TimeoutDuration = 450;
6+
public const int RequestAmount = 20;
7+
public const int BlockDuration = 300;
8+
public const string RequestBucket = "playlist-list";
9+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
namespace Refresh.Core.RateLimits.Playlists;
2+
3+
/// <summary>
4+
/// Shared rate limit parameters for game and API playlist endpoints which add/remove levels/playlists
5+
/// </summary>
6+
public static class PlaylistModificationEndpointLimits
7+
{
8+
public const int TimeoutDuration = 300;
9+
public const int RequestAmount = 16; // Will increase if this becomes a problem
10+
public const int BlockDuration = 240;
11+
public const string RequestBucket = "playlist-modification";
12+
}

0 commit comments

Comments
 (0)