gin

package
v0.0.0-...-8d8ec1c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package gin - Gin Route (Endpoint) 처리 구간에 Rate Limit 기능을 제공하는 Gin Router 패키지

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HandlerFactory

func HandlerFactory(next ginRouter.HandlerFactory, logger logging.Logger) ginRouter.HandlerFactory

HandlerFactory - RateLimit 기능을 수행하는 Handler Factory 구성

func IPTokenExtractor

func IPTokenExtractor(c *gin.Context) string

IPTokenExtractor - Request에서 IP 정보 추출

Types

type RateLimitMiddleware

type RateLimitMiddleware func(gin.HandlerFunc) gin.HandlerFunc

RateLimitMiddleware - Rate limit 처리가 적용된 Handler Func 반환 형식

func NewEndpointRateLimiter

func NewEndpointRateLimiter(tb ratelimit.RateLimiter) RateLimitMiddleware

NewEndpointRateLimiter - Rate Limit 처리를 포함하는 Handler Func 생성 (By Call 단위 검증)

func NewHeaderLimiter

func NewHeaderLimiter(header string, maxRate int, fillInterval int, fillCount int) RateLimitMiddleware

NewHeaderLimiter - Rate Limit 기능을 Header 기준으로 처리하는 Handler Func 생성 (By Client Header 단위 검증)

func NewIPLimiter

func NewIPLimiter(maxRate int, fillInterval int, fillCount int) RateLimitMiddleware

NewIPLimiter - Rate Limit 기능을 IP 기준으로 처리하는 Handler Func 생성 (By Client IP 단위 검증)

func NewTokenLimiter

NewTokenLimiter - 지정된 Token Extractor와 Limiter Store를 기반으로 Token Bucket 기준 Rate limit 처리를 수행하는 Middleware 생성

type TokenExtractor

type TokenExtractor func(*gin.Context) string

TokenExtractor - 각 요청에서 Token 정보를 추출하는 함수 형식

func HeaderTokenExtractor

func HeaderTokenExtractor(header string) TokenExtractor

HeaderTokenExtractor - Request에서 Header 정보 추출

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL