dotnet / dotnet/aspnetcore

Introduce stream-level rate-limiting for HTTP/2

Open
#68,769 1 comment 0 reactions 0 assignees View on GitHub
area-networking
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 6h
Merged PRs (30d)
290

Description

There is a rate-limit on the connection level - `MinRequestBodyDataRate`
https://github.com/dotnet/aspnetcore/blob/d06b3b4c5358a98dbb942c6b6d41d50d7f220fda/src/Servers/Kestrel/Core/src/KestrelServerLimits.cs#L358

Even for http/2 streams `MinRequestBodyDataRate` calculates aggregated data flow across streams. We should introduce a body data rate control on the stream level for more granular control.

Contributor guide

Open the contributing guide

Research direction

Start with the referenced MinRequestBodyDataRate definition in src/Servers/Kestrel/Core/src/KestrelServerLimits.cs around line 358, then trace where it is applied for HTTP/2 requests. Determine the stream-level behavior and API surface needed; done means HTTP/2 streams have granular body data-rate control rather than relying only on the aggregated connection-level rate.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.