Documentation
¶
Overview ¶
定义多个 gin 中间件
Index ¶
- Constants
- Variables
- func APILogger() gin.HandlerFunc
- func APILoggerWithConfig(config APILoggerConfig) gin.HandlerFunc
- func Context() gin.HandlerFunc
- func Limit(maxEventsPerSec float64, maxBurstSize int) gin.HandlerFunc
- func NoCache(c *gin.Context)
- func Options(c *gin.Context)
- func Secure(c *gin.Context)
- func StreamClientLoggingInterceptor() grpc.StreamClientInterceptor
- func StreamClientLoggingInterceptorWithConfig(config GRPCLoggerConfig) grpc.StreamClientInterceptor
- func StreamServerLoggingInterceptor() grpc.StreamServerInterceptor
- func StreamServerLoggingInterceptorWithConfig(config GRPCServerLoggerConfig) grpc.StreamServerInterceptor
- func Tracing() gin.HandlerFunc
- func UnaryClientLoggingInterceptor() grpc.UnaryClientInterceptor
- func UnaryClientLoggingInterceptorWithConfig(config GRPCLoggerConfig) grpc.UnaryClientInterceptor
- func UnaryServerLoggingInterceptor() grpc.UnaryServerInterceptor
- func UnaryServerLoggingInterceptorWithConfig(config GRPCServerLoggerConfig) grpc.UnaryServerInterceptor
- type APILoggerConfig
- type GRPCLoggerConfig
- type GRPCServerLoggerConfig
Constants ¶
const UsernameKey = "username"
UsernameKey 定义了在 gin 上下文中表示密钥所有者的键
const (
// XRequestIDKey 定义 X-Request-ID 键字符串
XRequestIDKey = "X-Request-ID"
)
Variables ¶
var ErrLimitExceeded = errors.New("Limit exceeded")
ErrLimitExceeded 定义了限制超出错误
var Middlewares = defaultMiddlewares()
Middlewares store registered middlewares. 存储注册的中间件
Functions ¶
func APILoggerWithConfig ¶
func APILoggerWithConfig(config APILoggerConfig) gin.HandlerFunc
APILoggerWithConfig 带配置的 API 日志中间件
func Limit ¶
func Limit(maxEventsPerSec float64, maxBurstSize int) gin.HandlerFunc
Limit 如果达到限制,则丢弃(HTTP 状态 429)请求
func Options ¶
Options 是一个中间件函数,用于添加头信息,处理 OPTIONS 请求,并中止中间件链和结束请求 注意:生产环境若前有 Nginx/CORS,勿在此处再写 Access-Control-Allow-Origin,否则会与网关叠成「多值」导致浏览器报错。
func Secure ¶
Secure 是一个中间件函数,用于添加安全头信息和资源访问头信息 不在此设置 CORS:由前置 Nginx(如 iam.fangcunmount.cn.conf 的 map + add_header)统一出 Allow-Origin,避免与 Gin 重复。
func StreamClientLoggingInterceptor ¶
func StreamClientLoggingInterceptor() grpc.StreamClientInterceptor
StreamClientLoggingInterceptor gRPC流式客户端日志拦截器
func StreamClientLoggingInterceptorWithConfig ¶
func StreamClientLoggingInterceptorWithConfig(config GRPCLoggerConfig) grpc.StreamClientInterceptor
StreamClientLoggingInterceptorWithConfig 带配置的gRPC流式客户端日志拦截器
func StreamServerLoggingInterceptor ¶
func StreamServerLoggingInterceptor() grpc.StreamServerInterceptor
StreamServerLoggingInterceptor gRPC 流式服务端日志拦截器
func StreamServerLoggingInterceptorWithConfig ¶
func StreamServerLoggingInterceptorWithConfig(config GRPCServerLoggerConfig) grpc.StreamServerInterceptor
StreamServerLoggingInterceptorWithConfig 带配置的 gRPC 流式服务端日志拦截器
func UnaryClientLoggingInterceptor ¶
func UnaryClientLoggingInterceptor() grpc.UnaryClientInterceptor
UnaryClientLoggingInterceptor gRPC一元客户端日志拦截器
func UnaryClientLoggingInterceptorWithConfig ¶
func UnaryClientLoggingInterceptorWithConfig(config GRPCLoggerConfig) grpc.UnaryClientInterceptor
UnaryClientLoggingInterceptorWithConfig 带配置的gRPC一元客户端日志拦截器
func UnaryServerLoggingInterceptor ¶
func UnaryServerLoggingInterceptor() grpc.UnaryServerInterceptor
UnaryServerLoggingInterceptor gRPC 一元服务端日志拦截器
func UnaryServerLoggingInterceptorWithConfig ¶
func UnaryServerLoggingInterceptorWithConfig(config GRPCServerLoggerConfig) grpc.UnaryServerInterceptor
UnaryServerLoggingInterceptorWithConfig 带配置的 gRPC 一元服务端日志拦截器
Types ¶
type APILoggerConfig ¶
type APILoggerConfig struct {
Tag string
SkipPaths []string
LogRequestHeaders bool
LogRequestBody bool
LogResponseHeaders bool
LogResponseBody bool
MaskSensitiveData bool
MaxBodyBytes int64
}
APILoggerConfig 定义 API 日志中间件的可配置项
func DefaultAPILoggerConfig ¶
func DefaultAPILoggerConfig() APILoggerConfig
DefaultAPILoggerConfig 返回默认配置
type GRPCLoggerConfig ¶
type GRPCLoggerConfig struct {
// LogRequestPayload 是否记录请求载荷
LogRequestPayload bool
// LogResponsePayload 是否记录响应载荷
LogResponsePayload bool
// LogLevel 日志级别,0=INFO, 1=DEBUG
LogLevel int
// MaxPayloadSize 最大记录的载荷大小
MaxPayloadSize int
}
GRPCLoggerConfig gRPC日志配置
func DefaultGRPCLoggerConfig ¶
func DefaultGRPCLoggerConfig() GRPCLoggerConfig
DefaultGRPCLoggerConfig 默认gRPC日志配置
type GRPCServerLoggerConfig ¶
type GRPCServerLoggerConfig struct {
// LogRequestPayload 是否记录请求载荷
LogRequestPayload bool
// LogResponsePayload 是否记录响应载荷
LogResponsePayload bool
// MaxPayloadSize 最大记录的载荷大小
MaxPayloadSize int
// SkipMethods 跳过日志记录的方法列表
SkipMethods []string
}
GRPCServerLoggerConfig gRPC 服务端日志配置
func DefaultGRPCServerLoggerConfig ¶
func DefaultGRPCServerLoggerConfig() GRPCServerLoggerConfig
DefaultGRPCServerLoggerConfig 默认 gRPC 服务端日志配置