Documentation
¶
Index ¶
- func BuildKeys(limiter *config.Limiter, r engine.Request) [][]string
- func LimitByKeys(limiter *config.Limiter, keys []string) *errors.HTTPError
- func LimitByRequest(limiter *config.Limiter, r engine.Request) *errors.HTTPError
- func LimitHandler(limiter *config.Limiter) echo.MiddlewareFunc
- func LimitMiddleware(limiter *config.Limiter) echo.MiddlewareFunc
- func New(max int64, ttl time.Duration) *config.Limiter
- func RemoteIP(ipLookups []string, r engine.Request) string
- func SetResponseHeaders(limiter *config.Limiter, w engine.Response)
- func StringInSlice(sliceString []string, needle string) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildKeys ¶
BuildKeys generates a slice of keys to rate-limit by given config and request structs.
func LimitByKeys ¶
LimitByKeys keeps track number of request made by keys separated by pipe. It returns HTTPError when limit is exceeded.
func LimitByRequest ¶
LimitByRequest builds keys based on http.Request struct, loops through all the keys, and check if any one of them returns HTTPError.
func LimitHandler ¶
func LimitHandler(limiter *config.Limiter) echo.MiddlewareFunc
func LimitMiddleware ¶
func LimitMiddleware(limiter *config.Limiter) echo.MiddlewareFunc
func SetResponseHeaders ¶
SetResponseHeaders configures X-Rate-Limit-Limit and X-Rate-Limit-Duration
func StringInSlice ¶
StringInSlice finds needle in a slice of strings.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.