Skip to content

Commit b2be189

Browse files
Rate limit clean up. (dotnet#18)
* Rate limiter code formatting * remove CreateNoLimiter * remove CreateNoLimiter
1 parent 9db0c7d commit b2be189

File tree

1 file changed

+16
-17
lines changed
  • fundamentals/middleware/rate-limit/WebRateLimitAuth

1 file changed

+16
-17
lines changed

fundamentals/middleware/rate-limit/WebRateLimitAuth/Program.cs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#define TOKEN // FIRST ADMIN FIXED SLIDING CONCUR TOKEN FIXED2 JWT
1+
#define FIRST // FIRST ADMIN FIXED SLIDING CONCUR TOKEN FIXED2 JWT
22
#if NEVER
33
#elif FIXED
44
// <snippet_fixed>
@@ -189,6 +189,8 @@
189189
app.UseRouting();
190190

191191
// <snippet>
192+
// Preceding code removed for brevity.
193+
192194
app.UseAuthentication();
193195
app.UseAuthorization();
194196

@@ -198,7 +200,6 @@
198200
var myConfigSection = app.Configuration.GetSection(MyRateLimitOptions.MyRateLimit);
199201
myConfigSection.Bind(myOptions);
200202

201-
202203
var options = new RateLimiterOptions()
203204
{
204205
OnRejected = (context, cancellationToken) =>
@@ -220,23 +221,21 @@
220221
.AddPolicy<string, SampleRateLimiterPolicy>(helloPolicy)
221222
.AddPolicy<string>(userPolicyName, context =>
222223
{
223-
if (context.User?.Identity?.IsAuthenticated is not true)
224+
var username = "anonymous user";
225+
if (context.User?.Identity?.IsAuthenticated is true)
224226
{
225-
var username = "anonymous user";
226-
227-
return RateLimitPartition.CreateSlidingWindowLimiter<string>(username,
228-
key => new SlidingWindowRateLimiterOptions(
229-
permitLimit: myOptions.permitLimit,
230-
queueProcessingOrder: QueueProcessingOrder.OldestFirst,
231-
queueLimit: myOptions.queueLimit,
232-
window: TimeSpan.FromSeconds(myOptions.window),
233-
segmentsPerWindow: myOptions.segmentsPerWindow
234-
));
235-
}
236-
else
237-
{
238-
return RateLimitPartition.CreateNoLimiter<string>(string.Empty);
227+
username = context.User?.ToString()!;
239228
}
229+
230+
return RateLimitPartition.CreateSlidingWindowLimiter<string>(username,
231+
key => new SlidingWindowRateLimiterOptions(
232+
permitLimit: myOptions.permitLimit,
233+
queueProcessingOrder: QueueProcessingOrder.OldestFirst,
234+
queueLimit: myOptions.queueLimit,
235+
window: TimeSpan.FromSeconds(myOptions.window),
236+
segmentsPerWindow: myOptions.segmentsPerWindow
237+
));
238+
240239
});
241240

242241
options.GlobalLimiter = PartitionedRateLimiter.Create<HttpContext, IPAddress>(context =>

0 commit comments

Comments
 (0)