Displaying 1 to 20 from 47 results

WebApiThrottle - ASP.NET Web API rate limiter for IIS and Owin hosting

  •    CSharp

ASP.NET Web API Throttling handler, OWIN middleware and filter are designed to control the rate of requests that clients can make to a Web API based on IP address, client API key and request route. WebApiThrottle package is available on NuGet at nuget.org/packages/WebApiThrottle.Web API throttling can be configured using the built-in ThrottlePolicy. You can set multiple limits for different scenarios like allowing an IP or Client to make a maximum number of calls per second, per minute, per hour per day or even per week. You can define these limits to address all requests made to an API or you can scope the limits to each API route.

Dingo API - A RESTful API package for the Laravel and Lumen frameworks

  •    PHP

The Dingo API package is meant to provide you, the developer, with a set of tools to help you easily and quickly build your own API. While the goal of this package is to remain as flexible as possible it still won't cover all situations and solve all problems. The package includes Content Negotiation, Rate limiting, Multiple Authentication Adapters, Error and Exception Handling, Response Transformers and Formatters, API Versioning and lot more.

nginxconfig.io - ⚙️ NGiИX config generator on steroids 💉

  •    HTML

NGINX is so much more than just a webserver. You already knew that, probably. A lot of features with corresponding configuration directives. You can deep dive into the NGINX documentation right now OR you can use this tool to check how NGINX works, observe how your inputs are affecting the output, generate the best config for your specific use-case (and in parallel you can still use the docs).

bucket4j - Java rate limiting library based on token/leaky-bucket algorithm.

  •    Java

Copyright 2015-2019 Vladimir Bukhtoyarov Licensed under the Apache Software License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0.

bottleneck - Task scheduler and rate limiter

  •    Javascript

Bottleneck is a lightweight and efficient Task Scheduler and Rate Limiter for Node.js and the browser. When dealing with services with limited resources, it's important to ensure that they don't become overloaded.Bottleneck is an easy solution as it does not add much complexity to your code.

Repose - The REstful PrOxy Service Engine

  •    Java

REPOSE is an open-source RESTful HTTP proxy service that scales to the cloud. REPOSE provides the solution to common API processing tasks such as rate limiting, client authentication, versioning, and logging so that web service developers can focus on the unique features of their services.

requests-respectful - Minimalist Requests wrapper to work within rate limits of any amount of services simultaneously

  •    Python

If you know Python, you know Requests. Requests is love. Requests is life. Depending on your use cases, you may come across scenarios where you need to use Requests a lot. Services you consume may have rate-limiting policies in place or you may just happen to be in a good mood and feel like being a good Netizen. This is where requests-respectful can come in handy. The library auto-detects the presence of a YAML file named requests-respectful.config.yml at the root of your project and will attempt to load configuration values from it.

gubernator - High Performance Rate Limiting MicroService and Library

  •    Go

Gubernator is a distributed, high performance, cloud native and stateless rate limiting service. Gubernator is stateless in that it doesn’t require disk space to operate. No configuration or cache data is ever synced to disk. This is because every request to gubernator includes the config for the rate limit. At first you might think this an unnecessary overhead to each request. However, In reality a rate limit config is made up of only 4, 64bit integers.

AspNetCoreRateLimit - ASP.NET Core rate limiting middleware

  •    CSharp

AspNetCoreRateLimit is an ASP.NET Core rate limiting solution designed to control the rate of requests that clients can make to a Web API or MVC app based on IP address or client ID. The AspNetCoreRateLimit package contains an IpRateLimitMiddleware and a ClientRateLimitMiddleware, with each middleware you can set multiple limits for different scenarios like allowing an IP or Client to make a maximum number of calls in a time interval like per second, 15 minutes, etc. You can define these limits to address all requests made to an API or you can scope the limits to each API URL or HTTP verb and path.

valvelet - Limit the execution rate of a function

  •    Javascript

This is a small utility to limit the execution rate of a function. It is useful for scenarios such as REST APIs consumption where the amount of requests per unit of time should not exceed a given threshold.This module is very similar to node-function-rate-limit. The difference is that valvelet works seamlessly with promise-returning functions.

MvcThrottle - ASP.NET MVC Throttling filter

  •    CSharp

With MvcThrottle you can protect your site from aggressive crawlers, scraping tools or unwanted traffic spikes originated from the same location by limiting the rate of requests that a client from the same IP can make to your site or to specific routes.You can set multiple limits for different scenarios like allowing an IP to make a maximum number of calls per second, per minute, per hour or per day. You can define these limits to address all requests made to your website or you can scope the limits to each Controller, Action or URL, with or without query string params.

limio - A rate limiting library for Go centered around intuitive and idiomatic interfaces.

  •    Go

Limio is meant to be a dead simple rate-limiting library, primarily aimed at providing an intuitive API surface for composable operational constraints. By centering around chan int, limio provides token bucket implementations with decent backpressure and helps eliminate silly window syndrome by spreading out token distribution over smaller units of time to provide a more even flow.By using a channel, we also eliminate the need of Limiter implementations to follow a complex contract involving rates. They simply need to listen on a channel for some quantity, and then when a quantity arrives, perform that many operations.

gottle - An HTTP ratelimiter

  •    Go

RealIP - This fetches the IP from the HTTP headers (X-Forwarded-For or X-Real-IP).. This is suitable when you have a reverse proxy to your go binary.RemoteIP - extremely basic and not guareented to work as expected because Go sets the RemoteAddr of a request to IP:port and you are expected to manipulate that yourself in a middleware or something of that sort.

ex_rated - ExRated, the Elixir OTP GenServer with the naughty name that allows you to rate-limit calls to any service that requires it

  •    Elixir

If you use the PhoenixFramework there is also a great blog post on Rate Limiting a Phoenix API by danielberkompas describing how to write a plug to use ExRated in your own API. Its fast and its easy. The ExRated.check_rate function will return an {:ok, Integer} tuple if its OK to proceed with your rate limited function. The Integer returned is the current value of the incrementing counter showing how many times in the time scale window your function has already been called. If you are over limit a {:error, Integer} tuple will be returned where the Integer is always the limit you have specified in the function call.

resque-waiting-room - Resque plugin that throttles your jobs

  •    Ruby

A Resque plugin. Requires Resque >= 1.19 and a >= 1.9 Ruby (MRI, JRuby or Rubinius). If you want to limit the number of performs of a job for a given period, extend it with this module.

TokenBucket - Lock-free implementation of the token bucket algorithm in C++

  •    C++

Lock-free implementation of the token bucket algorithm in C++11. This project was created by Erik Rigtorp <erik@rigtorp.se>.

rate-limit - Meteor package to rate-limit a function by queuing up calls (instead of dropping them like throttle or debounce)

  •    Javascript

Easily rate-limit a function to run no more often than every X miliseconds, by queuing up calls. All calls will be eventually executed, unlike throttling or debouncing, which drop extra calls. This is useful for API clients, web crawling, or other tasks that need to wait at least some amount of time between calls, but for which throttling per se (dropping calls) is unacceptable.

limitless - An OTP application to integrate a rate-limiter in your application.

  •    Erlang

Limitless is a lightweight, generic library for Erlang to quickly integrate a rate-limiter inside your application. See examples directory to see how use the library with the mongodb backend.