middleware

package
v0.0.0-...-6dfea25 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package middleware defines multiple gin middlewares

Index

Constants

View Source
const (
	RequestIDKey = "requestID"
	UsernameKey  = "username"
)
View Source
const (
	RedisPubSubChannel  = "iam.cluster.notifications"
	NoticePolicyChanged = "PolicyChanged"
	NoticeSecretChanged = "SecretChanged"
)

Define Redis pub/sub events.

View Source
const (
	// XRequestIDKey defines X-Request-ID key string.
	XRequestIDKey = "X-Request-ID"
)

Variables

View Source
var ErrorLimitExceeded = errors.New("Limit exceeded")

ErrorLimitExceeded defines Limit exceeded error.

View Source
var Middlewares = defaultMiddlewares()

Middlewares store registered middlewares.

Functions

func Context

func Context() gin.HandlerFunc

Context is a middleware that injects common prefix fields to gin.Context.

func Cors

func Cors() gin.HandlerFunc

Cors add cors headers.

func GetLoggerConfig

func GetLoggerConfig(formatter gin.LogFormatter, output io.Writer, skipPaths []string) gin.LoggerConfig

func GetRequestIDFromContext

func GetRequestIDFromContext(c *gin.Context) string

GetRequestIDFromContext returns 'RequestID' from the given context if present.

func GetRequestIDFromHeaders

func GetRequestIDFromHeaders(c *gin.Context) string

GetRequestIDFromHeaders returns 'RequestID' from the headers if present.

func Limit

func Limit(maxEventsPerSec float64, maxBurstSize int) gin.HandlerFunc

Limit drops (HTTP status 429) the request if the limit is reached.

func Logger

func Logger() gin.HandlerFunc

func LoggerWithConfig

func LoggerWithConfig(conf gin.LoggerConfig) gin.HandlerFunc

func NoCache

func NoCache(c *gin.Context)

NoCache is a middleware function that appends headers to prevent the client from caching the HTTP response.

func Options

func Options(c *gin.Context)

Options is a middleware function that appends headers for options requests and aborts then exits the middleware chain and ends the request.

func Publish

func Publish() gin.HandlerFunc

Publish publish a redis event to specified redis channel when some action occurred.

func RequestID

func RequestID() gin.HandlerFunc

Add request id if no request id found in request headers.

func Secure

func Secure(c *gin.Context)

Secure is a middleware function that appends security and resource access headers.

func Validation

func Validation() gin.HandlerFunc

Validation make sure users have the right resource permission and operation.

Types

type AuthOperator

type AuthOperator struct {
	// contains filtered or unexported fields
}

AuthOperator is used to switch between different authentication strategy.

func (*AuthOperator) AuthFunc

func (operator *AuthOperator) AuthFunc() gin.HandlerFunc

AuthFunc execute resource authentication.

func (*AuthOperator) SetStrategy

func (operator *AuthOperator) SetStrategy(strategy AuthStrategy)

SetStrategy is used to set to another authentication strategy.

type AuthStrategy

type AuthStrategy interface {
	AuthFunc() gin.HandlerFunc
}

AuthStrategy defines the set of methods used to do resource authentication.

Directories

Path Synopsis
Package auth defines authentication strategy like Basic, Bearer.
Package auth defines authentication strategy like Basic, Bearer.

Jump to

Keyboard shortcuts

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