Popularity
0.8
Declining
Activity
0.0
Stable
5
1
1
Description
Elixir Plug for Ralitobu, the Rate Limiter with Token Bucket algorithm
Monthly Downloads: 2
Programming language: Elixir
License: MIT License
Ralitobu.Plug alternatives and similar packages
Based on the "HTTP" category.
Alternatively, view Ralitobu.Plug alternatives based on common mentions on social networks and blogs.
-
spell
DISCONTINUED. Spell is a Web Application Messaging Protocol (WAMP) client implementation in Elixir. WAMP is an open standard WebSocket subprotocol that provides two application messaging patterns in one unified protocol: Remote Procedure Calls + Publish & Subscribe: http://wamp.ws/ -
web_socket
An exploration into a stand-alone library for Plug applications to easily adopt WebSockets. -
explode
An easy utility for responding with standard HTTP/JSON error payloads in Plug- and Phoenix-based applications -
SpiderMan
SpiderMan,a base-on Broadway fast high-level web crawling & scraping framework for Elixir. -
ivar
Ivar is an adapter based HTTP client that provides the ability to build composable HTTP requests. -
http_digex
HTTP Digest Auth Library to create auth header to be used with HTTP Digest Authentication
InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
Promo
www.influxdata.com
Do you think we are missing an alternative of Ralitobu.Plug or a related project?
README
Ralitobu.Plug
Usage
# bucketize on remote IP, allow 10 req/s
plug Ralitobu.Plug, on_ip: true, limit: 10, lifetime: 1_000
Example
$ curl -i http://localhost:4000/
HTTP/1.1 200 OK
server: Cowboy
date: Sun, 24 Apr 2016 12:44:37 GMT
content-length: 12
cache-control: max-age=0, private, must-revalidate
ratelimit-limit: 3
ratelimit-remaining: 0
ratelimit-reset: 2
hello world
$ curl -i http://localhost:4000/
HTTP/1.1 429 Too Many Requests
server: Cowboy
date: Sun, 24 Apr 2016 12:44:38 GMT
content-length: 64
cache-control: max-age=0, private, must-revalidate
ratelimit-limit: 3
ratelimit-remaining: 0
ratelimit-reset: 1
retry-after: 1
content-type: application/json; charset=utf-8
{"status": 429, "error": "Too Many Requests", "retry_after": 1}