laget.Limiter
1.2.27
Prefix Reserved
dotnet add package laget.Limiter --version 1.2.27
NuGet\Install-Package laget.Limiter -Version 1.2.27
<PackageReference Include="laget.Limiter" Version="1.2.27" />
paket add laget.Limiter --version 1.2.27
#r "nuget: laget.Limiter, 1.2.27"
// Install laget.Limiter as a Cake Addin
#addin nuget:?package=laget.Limiter&version=1.2.27
// Install laget.Limiter as a Cake Tool
#tool nuget:?package=laget.Limiter&version=1.2.27
laget.Limiter
A generic rate limiter, Useful for API clients, web crawling, or other tasks that need to be throttled...
Configuration
This example is shown using Autofac since this is the go-to IoC for us.
builder.Register<IAuthorizationLimit>(c =>
new AuthorizationLimit(new MemoryStore(),
new StandardLimit(300, TimeSpan.FromHours(3)))
).SingleInstance();
Usage
You can specifiy that a limiter should be used by the following
_limiter.Limit(() =>
{
...
});
You can also specify that a kown amount of call will be hit by the following
_limiter.Limit(2, () =>
{
...
});
You can aslo specify additional calls by the following
limiter.Limit(() =>
{
limiter.Register(3);
});
You can aslo use it asynchronous by the following
await limiter.LimitAsync(() => Task.CompletedTask);
Stores
Mongo
This example is shown using Autofac since this is the go-to IoC for us.
builder.Register<ISomeLimit>(c =>
new AuthorizationLimit(new MongoStore(new MongoUrl(c.Resolve<IConfiguration>().GetConnectionString("MongoConnectionString")), "authorization.calls"),
new StandardLimit(300, TimeSpan.FromHours(3)))
).SingleInstance();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- MongoDb.Driver (>= 2.25.0)
-
.NETStandard 2.1
- MongoDb.Driver (>= 2.25.0)
-
net6.0
- MongoDb.Driver (>= 2.25.0)
-
net8.0
- MongoDb.Driver (>= 2.25.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on laget.Limiter:
Package | Downloads |
---|---|
laget.Limiter.Stores.Mongo
MongoDB store implementation for laget.Limiter... |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.27 | 0 | 6/3/2024 |
1.2.26 | 258 | 1/20/2024 |
1.2.25 | 273 | 11/22/2023 |
1.2.24 | 159 | 7/3/2023 |
1.2.22 | 220 | 3/10/2023 |
1.1.13 | 1,004 | 9/5/2022 |
1.1.5 | 2,056 | 8/16/2021 |
1.1.4 | 397 | 8/9/2021 |
1.1.3 | 465 | 6/7/2021 |
1.1.2 | 482 | 5/21/2021 |
1.0.16 | 656 | 4/6/2021 |
1.0.15 | 504 | 3/5/2021 |
1.0.14 | 338 | 2/12/2021 |
1.0.13 | 328 | 2/12/2021 |
1.0.12 | 551 | 2/1/2021 |
1.0.11 | 368 | 1/8/2021 |
1.0.10 | 364 | 12/23/2020 |
1.0.9 | 846 | 12/21/2020 |
1.0.8 | 393 | 12/16/2020 |
1.0.7 | 420 | 12/8/2020 |