ginutil

package
v0.3.10 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MRelease = 1 << iota // Gin release Mode
	MSwagger             // enable Swagger

	MTraceId       // request context add TraceId
	MReqLogger     // request logging
	MDumpBody      // Dump req | resp body
	MRecoverLogger // Recover logging write to qelog
	MPprof         // http pprof

	MStd = MSwagger | MTraceId | MReqLogger | MDumpBody // default
)

Variables

View Source
var (
	AuthorizationHeader = "X-Authorization"
	SignatureHeader     = "X-Signature"
)
View Source
var JWTDataKey = "jwt_claims_data"

Functions

func AddSkipPaths

func AddSkipPaths(paths ...string)

AddSkipPaths add skip Path, not write logger

func ApiSignVerify

func ApiSignVerify(cfg *SignConfig, getSecretKey func(accessKey string) (string, error)) gin.HandlerFunc

ApiSignVerify API signature, must setting get secretKey function

func ClientIP

func ClientIP(c *gin.Context) string

ClientIP Get X-Forwarded-For, X-Real-Ip

func ContextWithTraceId

func ContextWithTraceId() gin.HandlerFunc

func DefaultEngine

func DefaultEngine(flags int) *gin.Engine

func DumpBodyLogger

func DumpBodyLogger(skipPaths ...string) gin.HandlerFunc

DumpBodyLogger Dump req | resp body

func GenJWTToken

func GenJWTToken(data string, ttl time.Duration, signingKey ...string) (token string, err error)

func GetApiSignAccessKey added in v0.1.7

func GetApiSignAccessKey(c *gin.Context) string

func GetJWTDataFromContext

func GetJWTDataFromContext(c *gin.Context) (string, bool)

func JWTAuthVerify

func JWTAuthVerify(enable bool, signingKey ...string) gin.HandlerFunc

JWTAuthVerify JWT auth verify signingKey custom signing key

func RecoveryLogger

func RecoveryLogger() gin.HandlerFunc

RecoveryLogger GIN Recovery logging to qelog

func ReqLogger

func ReqLogger(skipPaths ...string) gin.HandlerFunc

ReqLogger GIN handle request logging to qelog

func Resp

func Resp(c *gin.Context, httpCode int, data interface{}, err error)

func RespData

func RespData(c *gin.Context, data interface{}, status ...int)

RespData

func RespErr

func RespErr(c *gin.Context, err error, status ...int)

func RespSuccess

func RespSuccess(c *gin.Context, status ...int)

RespSuccess

func SetJWTDataToContext

func SetJWTDataToContext(c *gin.Context, token string, signingKey ...string) error

func ShouldBind

func ShouldBind(c *gin.Context, obj interface{}) error

func ValidateStruct

func ValidateStruct(obj interface{}) error

Types

type BaseResp

type BaseResp struct {
	errc.Error
	TraceID string `json:"traceId"`
}

func NewBaseResp

func NewBaseResp(code int, msg string) *BaseResp

func (*BaseResp) WriteTraceID

func (b *BaseResp) WriteTraceID(c *gin.Context) *BaseResp

type DataResp

type DataResp struct {
	*BaseResp
	Data interface{} `json:"data"`
}

func NewDataResp

func NewDataResp(baseResp *BaseResp, data interface{}) *DataResp

type ResponseErr

type ResponseErr struct {
	Method   string
	Path     string
	IP       string
	Form     url.Values
	PostForm url.Values
	Func     string
	Error    string
}

type SignConfig added in v0.1.0

type SignConfig struct {
	Enable bool `defval:"false"`
	sign.Config
	SupportMethods []string `defval:"GET,POST,PUT,DELETE"`
}

Jump to

Keyboard shortcuts

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