Fluens.Web.Api
0.9.2
dotnet add package Fluens.Web.Api --version 0.9.2
NuGet\Install-Package Fluens.Web.Api -Version 0.9.2
<PackageReference Include="Fluens.Web.Api" Version="0.9.2" />
<PackageVersion Include="Fluens.Web.Api" Version="0.9.2" />
<PackageReference Include="Fluens.Web.Api" />
paket add Fluens.Web.Api --version 0.9.2
#r "nuget: Fluens.Web.Api, 0.9.2"
#:package Fluens.Web.Api@0.9.2
#addin nuget:?package=Fluens.Web.Api&version=0.9.2
#tool nuget:?package=Fluens.Web.Api&version=0.9.2
Fluens.Web.Api
Endpoint discovery, OpenAPI documentation with Scalar UI, and fixed-window rate limiting for ASP.NET Core minimal APIs.
Installation
dotnet add package Fluens.Web.Api
Usage
Endpoints
internal sealed class OrderEndpoints : IEndpoint
{
public void Map(IEndpointRouteBuilder app)
{
app.MapGet("/orders", GetOrders);
app.MapPost("/orders", CreateOrder);
}
}
// Register and map (top-level — scans assembly of marker type)
fluensBuilder.AddEndpoints<Program>();
// Register and map (module-level — scans module assembly)
moduleBuilder.AddEndpoints();
app.MapEndpoints();
OpenAPI
fluensBuilder.AddOpenApi(opts =>
{
opts.DocumentName = "v1";
opts.Title = "My API";
opts.DarkMode = true;
opts.Theme = "Default";
opts.ShowSidebar = true;
opts.ShowTestRequestButton = true;
});
app.MapApiDocumentation(); // Scalar UI
Configuration section: Fluens:OpenApi. AddOpenApi()'s callback is honoured and validated even with no
matching configuration section present. MapApiDocumentation() is a no-op - maps no route - when
AddOpenApi() was never called or was disabled (Enabled = false, via config or callback), so a host
that calls it unconditionally starts cleanly either way.
Rate Limiting
fluensBuilder.AddRateLimiting(opts =>
{
opts.PermitLimit = 100;
opts.WindowSeconds = 60;
});
app.UseFluensRateLimiting();
Configuration section: Fluens:RateLimiting. AddRateLimiting()'s callback is likewise honoured and
validated even with no matching configuration section present. UseFluensRateLimiting() is a no-op -
adds no middleware - when AddRateLimiting() was never called or was disabled, so a host that calls it
unconditionally starts cleanly either way.
License
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Fluens.Web (>= 0.9.2)
- Microsoft.AspNetCore.OpenApi (>= 10.0.13)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.13)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.13)
- Scalar.AspNetCore (>= 2.18.2)
- Scrutor (>= 7.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Fluens.Web.Api:
| Package | Downloads |
|---|---|
|
Fluens.Web.Messaging.Dashboard
Cluster-wide monitoring surface for the Fluens cross-application messaging mesh: dead-letter queries, inbox lag, and stats snapshots. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.9.2 | 105 | 10/21/2026 |
| 0.9.1 | 187 | 10/13/2026 |
| 0.9.0 | 90 | 10/13/2026 |
| 0.8.7 | 255 | 10/12/2026 |
| 0.8.6 | 109 | 10/12/2026 |
| 0.8.5 | 122 | 10/7/2026 |
| 0.8.4 | 97 | 10/6/2026 |
| 0.8.3 | 101 | 10/6/2026 |
| 0.8.2 | 176 | 10/5/2026 |
| 0.8.1 | 217 | 9/15/2026 |
| 0.8.0 | 109 | 9/15/2026 |
| 0.7.11 | 118 | 9/15/2026 |
| 0.7.10 | 132 | 9/13/2026 |
| 0.7.9 | 119 | 9/11/2026 |
| 0.7.8 | 114 | 9/10/2026 |
| 0.7.7 | 118 | 9/10/2026 |
| 0.7.6 | 184 | 7/1/2026 |
| 0.7.5 | 156 | 6/22/2026 |
| 0.7.4 | 169 | 6/18/2026 |
| 0.7.2 | 140 | 6/18/2026 |