WebApiThrottle | ASP.NET Web API rate limiter for IIS and Owin hosting | REST library

 by   stefanprodan C# Version: v1.5.4 License: MIT

kandi X-RAY | WebApiThrottle Summary

kandi X-RAY | WebApiThrottle Summary

WebApiThrottle is a C# library typically used in Web Services, REST applications. WebApiThrottle has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

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. If you are looking for the ASP.NET Core version please head to [AspNetCoreRateLimit] project. AspNetCoreRateLimit is a full rewrite of WebApiThrottle and offers more flexibility in configuring rate limiting for Web API and MVC apps.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              WebApiThrottle has a medium active ecosystem.
              It has 1274 star(s) with 276 fork(s). There are 77 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 45 open issues and 69 have been closed. On average issues are closed in 155 days. There are 11 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of WebApiThrottle is v1.5.4

            kandi-Quality Quality

              WebApiThrottle has 0 bugs and 0 code smells.

            kandi-Security Security

              WebApiThrottle has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              WebApiThrottle code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              WebApiThrottle is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              WebApiThrottle releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of WebApiThrottle
            Get all kandi verified functions for this library.

            WebApiThrottle Key Features

            No Key Features are available at this moment for WebApiThrottle.

            WebApiThrottle Examples and Code Snippets

            No Code Snippets are available at this moment for WebApiThrottle.

            Community Discussions

            QUESTION

            Limit concurrent requests in Azure App Service
            Asked 2017-Jul-11 at 07:00

            Given the following

            • ASP.NET Web API application
            • Target: .NET Framework 4.6.1
            • Hosted as Azure App Service

            I wish to restrict the total number of concurrent HTTP requests to the application.

            I have looked at https://github.com/stefanprodan/WebApiThrottle but that seems to be focused on different use cases.

            I would like the equivalent of this setting in IIS: https://forums.asp.net/t/1683143.aspx?Max+concurrent+requests

            ...

            ANSWER

            Answered 2017-Jul-11 at 06:55

            This is to avoid attacking a backend service in counterproductive ways.

            To avoid the attack, you could restrict the concurrent requests using Dynamic IP Restrictions. If the concurrent requests count is larger than the setting value, the IP address will be blocked.

            Source https://stackoverflow.com/questions/45014808

            QUESTION

            Update rate limits at runtime in WebApiThrottle is not working
            Asked 2017-Jul-03 at 13:49

            I have a WebApi in ASP.NET MVC and I need to control the limit of access and besides that I need to change the values of the limits at run time. I implemented like this example on this site WebApiThrottle (section Update rate limits at runtime)

            That's the code in my WebApiConfig:

            ...

            ANSWER

            Answered 2017-Jul-03 at 13:49

            After try a lot of things I could configure my class to consider my custom rate limits.

            What I did was:

            1) I created a class to override the method SetIdentity like in the site WebApiThrottle:

            Source https://stackoverflow.com/questions/44789539

            QUESTION

            Block API requests for 5 mins if API rate limit exceeds using WebApiThrottle - C# Web API
            Asked 2017-Mar-04 at 08:38

            There's a real nice library WebApiThrottle for API rate limiting in Web API.
            As mentioned on the Wiki page, I can rate limit the API based on the authorization token header of API call.
            But, how can I block the api call for the next 5 minutes if this api rate limit exceeds? Also, not that any request within next 5 minutes will reset the rate limiting exceeded time.

            I checked the code but couldn't find this feature. Any other way if someone can suggest?

            ...

            ANSWER

            Answered 2017-Mar-04 at 08:38

            For the time being, I'm using this fork of WebApiThrottle and adding the dll manually to the solution. @adamriyadi has implemented this feature in the fork. Waiting for it to come to NuGet package.

            Update: Later, I went with my own implementation for API rate limiting with blocking period using HttpRuntime.Cache. So there is no need to add any additional library.

            Source https://stackoverflow.com/questions/42411498

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install WebApiThrottle

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/stefanprodan/WebApiThrottle.git

          • CLI

            gh repo clone stefanprodan/WebApiThrottle

          • sshUrl

            git@github.com:stefanprodan/WebApiThrottle.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Reuse Pre-built Kits with WebApiThrottle

            Consider Popular REST Libraries

            public-apis

            by public-apis

            json-server

            by typicode

            iptv

            by iptv-org

            fastapi

            by tiangolo

            beego

            by beego

            Try Top Libraries by stefanprodan

            podinfo

            by stefanprodanGo

            AspNetCoreRateLimit

            by stefanprodanC#

            swarmprom

            by stefanprodanShell

            mgob

            by stefanprodanGo

            gitops-istio

            by stefanprodanPython