middleware

package
v0.0.0-...-45a4d88 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessLog

type AccessLog struct {
	Method   string
	Status   int
	Url      string
	ReqBody  string
	RespBody string
	Duration string
}

type Authentication

type Authentication interface {
	CheckLogin() gin.HandlerFunc     // 检查登录,并且设置用户信息到上下文
	ExtractPayload() gin.HandlerFunc // 提取用户信息到上下文,未登录的用户也可以访问
}

func NewJwtLoginBuilder

func NewJwtLoginBuilder(handler ijwt.Handler, l logx.Logger) Authentication

type IpLimiterBuilder

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

func NewIpLimiterBuilder

func NewIpLimiterBuilder(limiter ratelimit.KeyLimiter, opts ...Option) *IpLimiterBuilder

func (*IpLimiterBuilder) Build

func (b *IpLimiterBuilder) Build() gin.HandlerFunc

func (*IpLimiterBuilder) WithPrefix

func (b *IpLimiterBuilder) WithPrefix(prefix string) *IpLimiterBuilder

type JwtLoginBuilder

type JwtLoginBuilder struct {
	ijwt.Handler
	// contains filtered or unexported fields
}

func (*JwtLoginBuilder) CheckLogin

func (b *JwtLoginBuilder) CheckLogin() gin.HandlerFunc

func (*JwtLoginBuilder) ExtractPayload

func (b *JwtLoginBuilder) ExtractPayload() gin.HandlerFunc

type LoggerBuilder

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

func NewLoggerBuilder

func NewLoggerBuilder(lf func(ctx context.Context, al *AccessLog)) *LoggerBuilder

NewLoggerBuilder 创建一个 LoggerBuilder 默认不允许记录请求和响应的 Body 默认最大记录 URL 长度为 1024 默认最大记录 Body 长度为 8192

func (*LoggerBuilder) AllowReqBody

func (b *LoggerBuilder) AllowReqBody() *LoggerBuilder

func (*LoggerBuilder) AllowRespBody

func (b *LoggerBuilder) AllowRespBody() *LoggerBuilder

func (*LoggerBuilder) Build

func (b *LoggerBuilder) Build() gin.HandlerFunc

func (*LoggerBuilder) WithMaxLogBodyLen

func (b *LoggerBuilder) WithMaxLogBodyLen(maxLogBodyLen int) *LoggerBuilder

func (*LoggerBuilder) WithMaxLogUrlLen

func (b *LoggerBuilder) WithMaxLogUrlLen(maxLogUrlLen int) *LoggerBuilder

type Option

type Option func(b *IpLimiterBuilder)

func WithPrefix

func WithPrefix(prefix string) Option

type PrometheusBuilder

type PrometheusBuilder struct {
	NameSpace     string
	SubSystem     string
	Name          string
	DurationHelp  string
	ActiveReqHelp string
	InstanceId    string
}

func NewPrometheusBuilder

func NewPrometheusBuilder(namespace, subSystem, name string) *PrometheusBuilder

func (*PrometheusBuilder) Build

func (p *PrometheusBuilder) Build() gin.HandlerFunc

func (*PrometheusBuilder) SetActiveReqHelp

func (p *PrometheusBuilder) SetActiveReqHelp(help string) *PrometheusBuilder

func (*PrometheusBuilder) SetDurationHelp

func (p *PrometheusBuilder) SetDurationHelp(help string) *PrometheusBuilder

func (*PrometheusBuilder) SetInstanceId

func (p *PrometheusBuilder) SetInstanceId(id string) *PrometheusBuilder

Jump to

Keyboard shortcuts

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