middleware

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2018 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	//ErrAuthClientNotSet returns if grpc client is nil
	ErrAuthClientNotSet = errors.New("Auth client not set up")
	//ErrUserPermissionDenied return if user don't have permissions
	ErrUserPermissionDenied = errors.New("User permission denied")
)
View Source
var (
	//XHeaderRegexp keeps regexp for detecting X-Headers
	XHeaderRegexp = regexp.MustCompile("^X-[a-zA-Z0-9]+")
)

Functions

func CheckAuth

func CheckAuth(roles []string, authClient authProto.AuthClient) gin.HandlerFunc

CheckAuth check user token and roles

func CheckUserClientHeader

func CheckUserClientHeader() gin.HandlerFunc

CheckUserClientHeader validate User-Client header

func ClearXHeaders

func ClearXHeaders() gin.HandlerFunc

ClearXHeaders clear all request and response X-Headers

func Cors

func Cors() gin.HandlerFunc

Cors return cors rules

func HeaderEntry

func HeaderEntry(header string, value interface{}) *log.Entry

HeaderEntry return logrus Entry with Header and Value params

func Logger

func Logger(m *model.Metrics) gin.HandlerFunc

Logger will write the request logs and save it's in clickhouse

func SetHeaderFromQuery

func SetHeaderFromQuery() gin.HandlerFunc

SetHeaderFromQuery write X-User-IP, X-User-Client, X-User-Agent for next services

func SetMainUserXHeaders

func SetMainUserXHeaders() gin.HandlerFunc

SetMainUserXHeaders write X-User-IP, X-User-Client, X-User-Agent for next services

func SetRequestID

func SetRequestID() gin.HandlerFunc

SetRequestID set request id header

func SetRequestName

func SetRequestName(name string) gin.HandlerFunc

SetRequestName set request name header

Types

type Limiter

type Limiter struct {
	*limiter.Limiter
	// contains filtered or unexported fields
}

Limiter keeps tollbooth limiter for limiting http requests

func CreateLimiter

func CreateLimiter(rate int) *Limiter

CreateLimiter return rate limiter for http

func (*Limiter) Limit

func (l *Limiter) Limit() gin.HandlerFunc

Limit middleware for limiting http requests

Jump to

Keyboard shortcuts

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