middleware

package
v0.0.0-...-3266887 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2022 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 2 more Imports: 23 Imported by: 0

Documentation

Overview

Package middleware defines multiple gin middlewares

Index

Constants

View Source
const UsernameKey = "username"

UsernameKey defines the key in gin context which represents the owner of the secret.

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

Variables

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

ErrLimitExceeded 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 GetDefaultLogFormatterWithRequestID

func GetDefaultLogFormatterWithRequestID() gin.LogFormatter

GetDefaultLogFormatterWithRequestID returns gin.LogFormatter with 'RequestID'.

func GetLoggerConfig

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

GetLoggerConfig return gin.LoggerConfig which will write the logs to specified io.Writer with given gin.LogFormatter. By default gin.DefaultWriter = os.Stdout reference: https://github.com/gin-gonic/gin#custom-log-format

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

Logger instances a Logger middleware that will write the logs to gin.DefaultWriter. By default gin.DefaultWriter = os.Stdout.

func LoggerWithConfig

func LoggerWithConfig(conf gin.LoggerConfig) gin.HandlerFunc

LoggerWithConfig instance a Logger middleware with config.

func LoggerWithFormatter

func LoggerWithFormatter(f gin.LogFormatter) gin.HandlerFunc

LoggerWithFormatter instance a Logger middleware with the specified log format function.

func LoggerWithWriter

func LoggerWithWriter(out io.Writer, notlogged ...string) gin.HandlerFunc

LoggerWithWriter instance a Logger middleware with the specified writer buffer. Example: os.Stdout, a file opened in write mode, a socket...

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

RequestID is a middleware that injects a 'X-Request-ID' into the context and request/response header of each request.

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 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 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