middleware

package
v0.0.0-...-357760b Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2020 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GinLogger

func GinLogger() gin.HandlerFunc

GinLogger 接收gin框架默认的日志

func GinRecovery

func GinRecovery(stack bool) gin.HandlerFunc

GinRecovery recover掉项目可能出现的panic

func IPAuthMiddleware

func IPAuthMiddleware() gin.HandlerFunc

IPAuthMiddleware IP 白名单中间件

func JWTAuthMiddleware

func JWTAuthMiddleware() func(c *gin.Context)

JWTAuthMiddleware JWT 认证中间件 1. 查看请求头里是否带有 Token 2. 查看 Token 格式是否正确 3. 解析 Token 4. 判断与 Redis 中的 Token 是否相等(这样可以保证只能有一个客户端登录,在其他地方登录 Redis Token 刷新,之前的登录就作废了) 5. 都满足,进行下一步

func RateLimitMiddleware

func RateLimitMiddleware(fillInterval time.Duration, cap int64) func(c *gin.Context)

RateLimitMiddleware 限流中间件 fillInterval 填充速率 cap 总容量

func RequestInLog

func RequestInLog(c *gin.Context)

RequestInLog 请求进来的日志

func RequestLog

func RequestLog() gin.HandlerFunc

RequestLog 请求日志中间件

func RequestOutLog

func RequestOutLog(c *gin.Context)

RequestOutLog 请求返回是的日志

func ResponseError

func ResponseError(c *gin.Context, code ResponseCode, err error)

ResponseError 错误时返回

func ResponseSuccess

func ResponseSuccess(c *gin.Context, data interface{})

ResponseSuccess 成功时返回

func SessionAuthMiddleware

func SessionAuthMiddleware() gin.HandlerFunc

SessionAuthMiddleware session 认证中间件

func TranslationMiddleware

func TranslationMiddleware() gin.HandlerFunc

TranslationMiddleware 设置 Translation

Types

type Response

type Response struct {
	ErrorCode ResponseCode `json:"errno"`
	ErrorMsg  string       `json:"errmsg"`
	Data      interface{}  `json:"data"`
	TraceID   interface{}  `json:"trace_id"`
	Stack     interface{}  `json:"stack"`
}

Response 响应结构体

type ResponseCode

type ResponseCode int64

ResponseCode 响应状态码

const (
	CodeSuccess    ResponseCode = iota // success
	CodeUndefError                     // 未知的错误
	CodeValidError
	CodeInternalError // 内部错误

	CodeInvalidRequestError ResponseCode = 401
	CodeCustomize           ResponseCode = 1000

	CodeNeedLogin      ResponseCode = 1100 + iota // 用户需要登录
	CodeInvalidToken                              // 无效 token
	CodeLoginElsewhere                            // 用户在别处登录

	GROUPALL_SAVE_FLOWERROR ResponseCode = 2001
)

状态码 1000 以下为通用码,1000 以上为用户自定义码

func (ResponseCode) Msg

func (c ResponseCode) Msg() string

Msg 获取状态码对应的提示信息

Jump to

Keyboard shortcuts

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