Categorygithub.com/go-web/httprl
modulepackage
0.0.0-20160505070143-20dc8024cb5d
Repository: https://github.com/go-web/httprl.git
Documentation: pkg.go.dev

# README

httprl

GoDoc GoReportCard

Package httprl provides a rate limiter for http servers.

# Packages

Package memcacherl is a memcache client wrapper for rate limiting.
Package redisrl is a redis client wrapper for rate limiting.

# Functions

NewMap creates and initializes a new Map.

# Constants

AllowPolicy allows requests when backend is unavailable.
BlockPolicy blocks requests when backend is unavailable.

# Variables

DefaultKeyMaker is a KeyMaker that returns the client IP address from the request, without the port.
Errors.
Errors.

# Structs

Map is a rate limiter implementation using a map and goroutine to expire keys.
A RateLimiter is an http.Handler that wraps another handler, and calls it up to a certain limit, per time interval.

# Interfaces

Backend defines an interface for rate limiters.

# Type aliases

A KeyMaker makes keys from the http.Request object to the RateLimiter.
Policy defines the rate limiter policy to apply when the backend fails.