Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Luo <johluo@microsoft.com>2021-05-20 21:49:47 +0300
committerJohn Luo <johluo@microsoft.com>2021-05-20 21:49:47 +0300
commitb4e9e5e520b1db4565931fca06f3f8d45ebb68f8 (patch)
treee443895dec2049f3882be9a15bb3ec3ed84fba7f
parent582c3f2d340b861a886a468f203b10ddb06886db (diff)
Separate resource limits to own assemblyjohluo/rate-limits
-rw-r--r--eng/Build.props2
-rw-r--r--eng/ProjectReferences.props1
-rw-r--r--eng/SharedFramework.Local.props1
-rw-r--r--src/Middleware/RequestLimiter/src/Microsoft.AspNetCore.RequestLimiter.csproj1
-rw-r--r--src/Middleware/RequestLimiter/src/RequestLimiterMiddleware.cs2
-rw-r--r--src/ResourceLimits/src/ConcurrencyLimiter.cs (renamed from src/Http/Http.Abstractions/src/ResourceLimit/ConcurrencyLimiter.cs)1
-rw-r--r--src/ResourceLimits/src/IAggregatedResourceLimiter.cs (renamed from src/Http/Http.Abstractions/src/ResourceLimit/IAggregatedResourceLimiter.cs)0
-rw-r--r--src/ResourceLimits/src/IResourceLimiter.cs (renamed from src/Http/Http.Abstractions/src/ResourceLimit/IResourceLimiter.cs)0
-rw-r--r--src/ResourceLimits/src/IResourceLimiterExtensions.cs (renamed from src/Http/Http.Abstractions/src/ResourceLimit/IResourceLimiterExtensions.cs)0
-rw-r--r--src/ResourceLimits/src/Resource.cs (renamed from src/Http/Http.Abstractions/src/ResourceLimit/Resource.cs)0
-rw-r--r--src/ResourceLimits/src/System.Threading.ResourceLimits.csproj12
-rw-r--r--src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj1
12 files changed, 21 insertions, 0 deletions
diff --git a/eng/Build.props b/eng/Build.props
index a2fb171c29..88a27ce32c 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -185,6 +185,7 @@
$(RepoRoot)src\WebEncoders\**\*.csproj;
$(RepoRoot)src\HealthChecks\**\*.csproj;
$(RepoRoot)src\Testing\**\*.csproj;
+ $(RepoRoot)src\ResourceLimits\**\*.csproj;
$(RepoRoot)src\ProjectTemplates\*\*.csproj;
$(RepoRoot)src\ProjectTemplates\testassets\*\*.csproj;
"
@@ -225,6 +226,7 @@
$(RepoRoot)src\WebEncoders\**\src\*.csproj;
$(RepoRoot)src\HealthChecks\**\src\*.csproj;
$(RepoRoot)src\Testing\**\src\*.csproj;
+ $(RepoRoot)src\ResourceLimits\**\*.csproj;
"
Exclude="
@(ProjectToBuild);
diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index acab068128..f7758cd8f6 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -163,5 +163,6 @@
<ProjectReferenceProvider Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" ProjectPath="$(RepoRoot)src\HealthChecks\Abstractions\src\Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.csproj" />
<ProjectReferenceProvider Include="Microsoft.Extensions.Diagnostics.HealthChecks" ProjectPath="$(RepoRoot)src\HealthChecks\HealthChecks\src\Microsoft.Extensions.Diagnostics.HealthChecks.csproj" />
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Testing" ProjectPath="$(RepoRoot)src\Testing\src\Microsoft.AspNetCore.Testing.csproj" />
+ <ProjectReferenceProvider Include="System.Threading.ResourceLimits" ProjectPath="$(RepoRoot)src\ResourceLimits\src\System.Threading.ResourceLimits.csproj" />
</ItemGroup>
</Project>
diff --git a/eng/SharedFramework.Local.props b/eng/SharedFramework.Local.props
index 49d28f78f0..d242e36b49 100644
--- a/eng/SharedFramework.Local.props
+++ b/eng/SharedFramework.Local.props
@@ -35,6 +35,7 @@
<AspNetCoreAppReferenceAndPackage Include="Microsoft.Extensions.WebEncoders" />
<AspNetCoreAppReferenceAndPackage Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" />
<AspNetCoreAppReferenceAndPackage Include="Microsoft.Extensions.Diagnostics.HealthChecks" />
+ <AspNetCoreAppReferenceAndPackage Include="System.Threading.ResourceLimits" />
<!-- These assemblies are only in the shared framework -->
<AspNetCoreAppReference Include="Microsoft.AspNetCore" />
diff --git a/src/Middleware/RequestLimiter/src/Microsoft.AspNetCore.RequestLimiter.csproj b/src/Middleware/RequestLimiter/src/Microsoft.AspNetCore.RequestLimiter.csproj
index 969fa64942..580d624e12 100644
--- a/src/Middleware/RequestLimiter/src/Microsoft.AspNetCore.RequestLimiter.csproj
+++ b/src/Middleware/RequestLimiter/src/Microsoft.AspNetCore.RequestLimiter.csproj
@@ -12,6 +12,7 @@
<ItemGroup>
<Reference Include="Microsoft.AspNetCore.Http.Abstractions" />
<Reference Include="Microsoft.Extensions.Logging.Abstractions" />
+ <Reference Include="System.Threading.ResourceLimits" />
</ItemGroup>
</Project>
diff --git a/src/Middleware/RequestLimiter/src/RequestLimiterMiddleware.cs b/src/Middleware/RequestLimiter/src/RequestLimiterMiddleware.cs
index adb8ddb95d..4655859ae6 100644
--- a/src/Middleware/RequestLimiter/src/RequestLimiterMiddleware.cs
+++ b/src/Middleware/RequestLimiter/src/RequestLimiterMiddleware.cs
@@ -60,6 +60,8 @@ namespace Microsoft.AspNetCore.RequestLimiter
// TODO: error
}
+
+
if (registration.ResolveLimiter != null)
{
var limiter = registration.ResolveLimiter(context.RequestServices);
diff --git a/src/Http/Http.Abstractions/src/ResourceLimit/ConcurrencyLimiter.cs b/src/ResourceLimits/src/ConcurrencyLimiter.cs
index c0c52c7415..91cccbaef3 100644
--- a/src/Http/Http.Abstractions/src/ResourceLimit/ConcurrencyLimiter.cs
+++ b/src/ResourceLimits/src/ConcurrencyLimiter.cs
@@ -4,6 +4,7 @@ using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
namespace System.Threading.ResourceLimits
+{
public class ConcurrencyLimiter : ResourceLimiter
{
private long _resourceCount;
diff --git a/src/Http/Http.Abstractions/src/ResourceLimit/IAggregatedResourceLimiter.cs b/src/ResourceLimits/src/IAggregatedResourceLimiter.cs
index 486c9a6487..486c9a6487 100644
--- a/src/Http/Http.Abstractions/src/ResourceLimit/IAggregatedResourceLimiter.cs
+++ b/src/ResourceLimits/src/IAggregatedResourceLimiter.cs
diff --git a/src/Http/Http.Abstractions/src/ResourceLimit/IResourceLimiter.cs b/src/ResourceLimits/src/IResourceLimiter.cs
index b338910f6b..b338910f6b 100644
--- a/src/Http/Http.Abstractions/src/ResourceLimit/IResourceLimiter.cs
+++ b/src/ResourceLimits/src/IResourceLimiter.cs
diff --git a/src/Http/Http.Abstractions/src/ResourceLimit/IResourceLimiterExtensions.cs b/src/ResourceLimits/src/IResourceLimiterExtensions.cs
index a428e679f1..a428e679f1 100644
--- a/src/Http/Http.Abstractions/src/ResourceLimit/IResourceLimiterExtensions.cs
+++ b/src/ResourceLimits/src/IResourceLimiterExtensions.cs
diff --git a/src/Http/Http.Abstractions/src/ResourceLimit/Resource.cs b/src/ResourceLimits/src/Resource.cs
index 70ad788fe3..70ad788fe3 100644
--- a/src/Http/Http.Abstractions/src/ResourceLimit/Resource.cs
+++ b/src/ResourceLimits/src/Resource.cs
diff --git a/src/ResourceLimits/src/System.Threading.ResourceLimits.csproj b/src/ResourceLimits/src/System.Threading.ResourceLimits.csproj
new file mode 100644
index 0000000000..dc2b679816
--- /dev/null
+++ b/src/ResourceLimits/src/System.Threading.ResourceLimits.csproj
@@ -0,0 +1,12 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <Description>WIP</Description>
+ <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
+ <GenerateDocumentationFile>false</GenerateDocumentationFile>
+ <AddPublicApiAnalyzers>false</AddPublicApiAnalyzers>
+ <IsAspNetCoreApp>true</IsAspNetCoreApp>
+ <Nullable>enable</Nullable>
+ </PropertyGroup>
+
+</Project>
diff --git a/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj b/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj
index ede7d82a13..0c3b3dfa04 100644
--- a/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj
+++ b/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj
@@ -37,6 +37,7 @@
<Reference Include="Microsoft.Extensions.Options" />
<Reference Include="Microsoft.Net.Http.Headers" />
<Reference Include="System.Security.Cryptography.Cng" />
+ <Reference Include="System.Threading.ResourceLimits" />
</ItemGroup>
<ItemGroup>