xlhttp

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

* gin 限流中间件

Index

Constants

View Source
const (
	JWTIdentityKey   = "jwt_user_id"
	RequestTokenHEAD = "X-TOKEN"
)

Variables

This section is empty.

Functions

func AesDecrypt

func AesDecrypt(cryted string, key string) (string, error)

AesDecrypt aes解密

func AesEncrypt

func AesEncrypt(orig string, key string) (string, error)

AesEncrypt 加密

func JWTBodyMiddleware

func JWTBodyMiddleware(jwt *JWT) gin.HandlerFunc

JWTBodyMiddleware jwt token 位于请求内

func JWTHeadMiddleware

func JWTHeadMiddleware(jwt *JWT) gin.HandlerFunc

JWTHeadMiddleware jwt token 位于请求头

func NewAesRequestMiddleware

func NewAesRequestMiddleware(key string, debug bool) gin.HandlerFunc

NewAesRequestMiddleware 生成一个AES请求加密中间件

func NewAesResponseMiddleware

func NewAesResponseMiddleware(key string) gin.HandlerFunc

func NewDataAesResponseMiddleware

func NewDataAesResponseMiddleware(key string, debug bool) gin.HandlerFunc

func NewDataEncryptResponseMiddleware

func NewDataEncryptResponseMiddleware(encryptor Encryptor, debug bool) gin.HandlerFunc

func NewEncryptRequestMiddleware

func NewEncryptRequestMiddleware(encryptor Encryptor, debug bool) gin.HandlerFunc

func NewEncryptResponseMiddleware

func NewEncryptResponseMiddleware(encryptor Encryptor) gin.HandlerFunc

func PKCS7Padding

func PKCS7Padding(ciphertext []byte, blocksize int) []byte

PKCS7Padding 补码

func PKCS7UnPadding

func PKCS7UnPadding(origData []byte) []byte

PKCS7UnPadding 去码

func RateLimitMiddleware

func RateLimitMiddleware(max float64) gin.HandlerFunc

RateLimitMiddleware @description gin限流中间件 @param max float64 每秒限制请求量(QPS)

Types

type AesEncryptor

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

func (AesEncryptor) Decrypt

func (a AesEncryptor) Decrypt(source string) (string, error)

func (AesEncryptor) Encrypt

func (a AesEncryptor) Encrypt(dec string) (string, error)

type ApiRequest

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

func Build

func Build(ctx *gin.Context) *ApiRequest

func (*ApiRequest) GetJWTUID

func (r *ApiRequest) GetJWTUID() (int64, error)

func (*ApiRequest) JsonReturn

func (r *ApiRequest) JsonReturn(err error, args ...interface{})

func (*ApiRequest) RequestParser

func (r *ApiRequest) RequestParser(args interface{}) (err error)

type EncRequest

type EncRequest struct {
	Enc string `json:"enc" form:"enc" binding:"required"`
}

type Encryptor

type Encryptor interface {
	Decrypt(source string) (string, error) //加密
	Encrypt(dec string) (string, error)    //解密
}

type JWT

type JWT struct {
	SigningKey []byte
	Expire     time.Duration
}

func NewJWT

func NewJWT(secretKey string, d time.Duration) *JWT

func (*JWT) CreateToken

func (j *JWT) CreateToken(data string) (string, error)

CreateToken 创建一个token

func (*JWT) ParseToken

func (j *JWT) ParseToken(token string) (string, error)

ParseToken 解析 token

type JsonResponse

type JsonResponse struct {
	Error   int         `json:"error,required"`
	Data    interface{} `json:"data,omitempty"`
	Message string      `json:"message,required"`
}

JsonResponse 返回的json数据格式

Jump to

Keyboard shortcuts

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