项目作者: huzhengquan

项目描述 :
clojure ring middleware, rate limiter
高级语言: Clojure
项目地址: git://github.com/huzhengquan/ring-rate-limiter.git
创建时间: 2018-02-14T06:55:32Z
项目社区:https://github.com/huzhengquan/ring-rate-limiter

开源协议:Eclipse Public License 1.0

下载


ring-rate-limiter

Standard Ring middleware functions , lightweight, efficient, Rate limiter.

Installation

To install, add the following to your project :dependencies:

  1. [huzhengquan/ring-rate-limiter "0.1.1"]

Usage

  1. (require '[ring.middleware.rate-limiter :refer [wrap-rate-limiter]])
  2. (defn handler [request]
  3. {:status 200
  4. :headers {"Content-Type" "text/html"}
  5. :body "Hello World"})
  6. (def app
  7. (wrap-rate-limiter
  8. handler
  9. :interval 60 ; required (s)
  10. :max-in-interval 3 ; required
  11. :key-in-request [:headers "x-forwarded-for"] ; default [:remote-addr]
  12. :debug true ; default false
  13. :fail-response "error" ; default "Too Many Requests"
  14. ))