Documentation
¶
Overview ¶
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
Index ¶
- type AdaptiveTimeoutMiddleware
- func (m *AdaptiveTimeoutMiddleware) GetStatistics() TimeoutStatistics
- func (m *AdaptiveTimeoutMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
- func (m *AdaptiveTimeoutMiddleware) Name() string
- func (m *AdaptiveTimeoutMiddleware) Reset()
- func (m *AdaptiveTimeoutMiddleware) SetMaxTimeout(maxTimeout time.Duration)
- func (m *AdaptiveTimeoutMiddleware) SetMinTimeout(minTimeout time.Duration)
- func (m *AdaptiveTimeoutMiddleware) SetPercentile(percentile float64)
- type ArgsValidator
- type BackoffStrategy
- type Builder
- type ChainError
- type CircuitBreakerRetryMiddleware
- type CircuitState
- type CompositeValidator
- type CustomValidator
- type DefaultBackoff
- type DefaultRetryableChecker
- type ErrorHandlerMiddleware
- type ExecutionChain
- type LengthValidator
- type LinearBackoff
- type LoggingMiddleware
- type MetricsMiddleware
- type Middleware
- func NewAdaptiveTimeoutMiddleware(baseTimeout time.Duration) Middleware
- func NewCircuitBreakerRetryMiddleware(maxAttempts int) Middleware
- func NewErrorHandlerMiddleware(name string, ...) Middleware
- func NewLoggingMiddleware() Middleware
- func NewLoggingMiddlewareWithLevel(level string) Middleware
- func NewLoggingMiddlewareWithLogger(l logger.Logger) Middleware
- func NewMetricsMiddleware() Middleware
- func NewPredicateMiddleware(name string, ...) Middleware
- func NewRatioMetricsMiddleware() Middleware
- func NewRetryMiddleware(maxAttempts int) Middleware
- func NewRetryMiddlewareWithConfig(maxAttempts int, backoff BackoffStrategy, retryable RetryableChecker) Middleware
- func NewSQLLoggingMiddleware() Middleware
- func NewSimpleMiddleware(name string, ...) Middleware
- func NewSlowQueryLoggingMiddleware(threshold time.Duration) Middleware
- func NewTimeoutMiddleware() Middleware
- func NewTimeoutMiddlewareWithDuration(timeout time.Duration) Middleware
- func NewValidationMiddleware() Middleware
- func WrapMiddleware(name string, ...) Middleware
- type Next
- type PatternValidator
- type PredicateMiddleware
- type QueryMetrics
- type QueryStatistics
- type RatioMetricsMiddleware
- type RetryMiddleware
- type RetryableChecker
- type SQLInjectionValidator
- type SQLLoggingMiddleware
- type SQLValidator
- type SimpleMiddleware
- type SlowQueryLoggingMiddleware
- func (m *SlowQueryLoggingMiddleware) GetThreshold() time.Duration
- func (m *SlowQueryLoggingMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
- func (m *SlowQueryLoggingMiddleware) Name() string
- func (m *SlowQueryLoggingMiddleware) SetThreshold(threshold time.Duration)
- type TimeoutMiddleware
- func (m *TimeoutMiddleware) GetDuration() time.Duration
- func (m *TimeoutMiddleware) GetTimeout() time.Duration
- func (m *TimeoutMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
- func (m *TimeoutMiddleware) Name() string
- func (m *TimeoutMiddleware) SetDuration(duration time.Duration)
- func (m *TimeoutMiddleware) SetTimeout(timeout time.Duration)
- type TimeoutStatistics
- type ValidationMiddleware
- type Validator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdaptiveTimeoutMiddleware ¶
type AdaptiveTimeoutMiddleware struct {
// contains filtered or unexported fields
}
AdaptiveTimeoutMiddleware 自适应超时中间件 根据历史查询耗时自动调整超时时间
func (*AdaptiveTimeoutMiddleware) GetStatistics ¶
func (m *AdaptiveTimeoutMiddleware) GetStatistics() TimeoutStatistics
GetStatistics 获取统计信息
func (*AdaptiveTimeoutMiddleware) Handle ¶
func (m *AdaptiveTimeoutMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
func (*AdaptiveTimeoutMiddleware) Name ¶
func (m *AdaptiveTimeoutMiddleware) Name() string
Name 返回中间件名称
func (*AdaptiveTimeoutMiddleware) SetMaxTimeout ¶
func (m *AdaptiveTimeoutMiddleware) SetMaxTimeout(maxTimeout time.Duration)
SetMaxTimeout 设置最大超时时间
func (*AdaptiveTimeoutMiddleware) SetMinTimeout ¶
func (m *AdaptiveTimeoutMiddleware) SetMinTimeout(minTimeout time.Duration)
SetMinTimeout 设置最小超时时间
func (*AdaptiveTimeoutMiddleware) SetPercentile ¶
func (m *AdaptiveTimeoutMiddleware) SetPercentile(percentile float64)
SetPercentile 设置百分位数
type ArgsValidator ¶
type ArgsValidator struct {
// contains filtered or unexported fields
}
ArgsValidator 参数验证器
func (*ArgsValidator) SetMaxArgs ¶
func (v *ArgsValidator) SetMaxArgs(maxArgs int)
SetMaxArgs 设置最大参数数
func (*ArgsValidator) Validate ¶
func (v *ArgsValidator) Validate(ctx context.Context, execCtx *executor.ExecutionContext) error
Validate 验证参数
type BackoffStrategy ¶
type BackoffStrategy interface {
// NextBackoff 获取下一次重试的等待时间
NextBackoff(attempt int) time.Duration
}
BackoffStrategy 重试等待策略
func NewLinearBackoff ¶
func NewLinearBackoff(interval time.Duration) BackoffStrategy
NewLinearBackoff 创建线性重试等待策略
type Builder ¶
type Builder interface {
// WithLogging 添加日志中间件
WithLogging() Builder
// WithMetrics 添加指标中间件
WithMetrics() Builder
// WithRetry 添加重试中间件
WithRetry(maxAttempts int) Builder
// WithTimeout 添加超时中间件
WithTimeout() Builder
// WithValidation 添加验证中间件
WithValidation() Builder
// WithCustom 添加自定义中间件
WithCustom(middleware Middleware) Builder
// Build 构建中间件链
Build() ExecutionChain
}
Builder 定义中间件链构建器接口
type ChainError ¶
ChainError 中间件链执行错误
type CircuitBreakerRetryMiddleware ¶
type CircuitBreakerRetryMiddleware struct {
// contains filtered or unexported fields
}
CircuitBreakerRetryMiddleware 断路器重试中间件 当错误率过高时,停止重试
func (*CircuitBreakerRetryMiddleware) GetState ¶
func (m *CircuitBreakerRetryMiddleware) GetState() CircuitState
GetState 获取断路器状态
func (*CircuitBreakerRetryMiddleware) Handle ¶
func (m *CircuitBreakerRetryMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
func (*CircuitBreakerRetryMiddleware) Name ¶
func (m *CircuitBreakerRetryMiddleware) Name() string
Name 返回中间件名称
func (*CircuitBreakerRetryMiddleware) Reset ¶
func (m *CircuitBreakerRetryMiddleware) Reset()
Reset 重置断路器
type CircuitState ¶
type CircuitState string
CircuitState 断路器状态
const ( // CircuitStateClosed 闭合状态(正常) CircuitStateClosed CircuitState = "closed" // CircuitStateOpen 开启状态(断路) CircuitStateOpen CircuitState = "open" // CircuitStateHalfOpen 半开状态(试探) CircuitStateHalfOpen CircuitState = "half_open" )
type CompositeValidator ¶
type CompositeValidator struct {
// contains filtered or unexported fields
}
CompositeValidator 复合验证器 支持多个验证器的组合,所有验证器都必须通过
func (*CompositeValidator) AddValidator ¶
func (v *CompositeValidator) AddValidator(validator Validator)
AddValidator 添加验证器
func (*CompositeValidator) Validate ¶
func (v *CompositeValidator) Validate(ctx context.Context, execCtx *executor.ExecutionContext) error
Validate 执行所有验证
type CustomValidator ¶
type CustomValidator struct {
// contains filtered or unexported fields
}
CustomValidator 自定义验证器
func (*CustomValidator) Validate ¶
func (v *CustomValidator) Validate(ctx context.Context, execCtx *executor.ExecutionContext) error
Validate 执行自定义验证
type DefaultBackoff ¶
type DefaultBackoff struct {
// contains filtered or unexported fields
}
DefaultBackoff 默认重试等待策略(指数退避)
func (*DefaultBackoff) NextBackoff ¶
func (b *DefaultBackoff) NextBackoff(attempt int) time.Duration
NextBackoff 获取下一次重试的等待时间
type DefaultRetryableChecker ¶
type DefaultRetryableChecker struct{}
DefaultRetryableChecker 默认的可重试错误检查器
func (*DefaultRetryableChecker) IsRetryable ¶
func (c *DefaultRetryableChecker) IsRetryable(err error) bool
IsRetryable 检查错误是否可重试
type ErrorHandlerMiddleware ¶
type ErrorHandlerMiddleware struct {
// contains filtered or unexported fields
}
ErrorHandlerMiddleware 错误处理中间件
func (*ErrorHandlerMiddleware) Handle ¶
func (m *ErrorHandlerMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
type ExecutionChain ¶
type ExecutionChain interface {
// Use 添加中间件
Use(middleware ...Middleware) ExecutionChain
// Execute 执行中间件链
// 依次执行所有中间件的 Handle 方法
Execute(ctx context.Context, execCtx *executor.ExecutionContext) error
// Remove 移除指定名称的中间件
Remove(name string) ExecutionChain
// Clear 清除所有中间件
Clear() ExecutionChain
// List 获取所有中间件名称列表
List() []string
// HasMiddleware 检查是否存在指定名称的中间件
HasMiddleware(name string) bool
}
ExecutionChain 定义中间件链接口
type LengthValidator ¶
type LengthValidator struct {
// contains filtered or unexported fields
}
LengthValidator SQL 长度验证器
func (*LengthValidator) Validate ¶
func (v *LengthValidator) Validate(ctx context.Context, execCtx *executor.ExecutionContext) error
Validate 验证 SQL 长度
type LinearBackoff ¶
type LinearBackoff struct {
// contains filtered or unexported fields
}
LinearBackoff 线性重试等待策略
func (*LinearBackoff) NextBackoff ¶
func (b *LinearBackoff) NextBackoff(attempt int) time.Duration
NextBackoff 获取下一次重试的等待时间
type LoggingMiddleware ¶
type LoggingMiddleware struct {
// contains filtered or unexported fields
}
LoggingMiddleware 日志中间件 记录查询的 SQL、参数、执行时间等信息
func (*LoggingMiddleware) Handle ¶
func (m *LoggingMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
func (*LoggingMiddleware) SetLevel ¶
func (m *LoggingMiddleware) SetLevel(level string)
SetLevel 设置日志级别
type MetricsMiddleware ¶
type MetricsMiddleware struct {
// contains filtered or unexported fields
}
MetricsMiddleware 指标中间件 收集查询的统计信息,如执行次数、总耗时、错误次数等
func (*MetricsMiddleware) GetMetrics ¶
func (m *MetricsMiddleware) GetMetrics() QueryMetrics
GetMetrics 获取统计指标
func (*MetricsMiddleware) Handle ¶
func (m *MetricsMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
type Middleware ¶
type Middleware interface {
// Name 返回中间件的名称
Name() string
// Handle 处理请求
// 返回下一个中间件处理的 Next 函数
Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
}
Middleware 定义中间件接口 Middleware 在执行查询前后进行处理
func NewAdaptiveTimeoutMiddleware ¶
func NewAdaptiveTimeoutMiddleware(baseTimeout time.Duration) Middleware
NewAdaptiveTimeoutMiddleware 创建自适应超时中间件
func NewCircuitBreakerRetryMiddleware ¶
func NewCircuitBreakerRetryMiddleware(maxAttempts int) Middleware
NewCircuitBreakerRetryMiddleware 创建断路器重试中间件
func NewErrorHandlerMiddleware ¶
func NewErrorHandlerMiddleware( name string, handler func(ctx context.Context, execCtx *executor.ExecutionContext, err error) error, ) Middleware
NewErrorHandlerMiddleware 创建错误处理中间件
func NewLoggingMiddlewareWithLevel ¶
func NewLoggingMiddlewareWithLevel(level string) Middleware
NewLoggingMiddlewareWithLevel 创建日志中间件,指定日志级别
func NewLoggingMiddlewareWithLogger ¶
func NewLoggingMiddlewareWithLogger(l logger.Logger) Middleware
NewLoggingMiddlewareWithLogger 创建日志中间件,指定 logger
func NewPredicateMiddleware ¶
func NewPredicateMiddleware( name string, predicate func(ctx context.Context, execCtx *executor.ExecutionContext) bool, handle func(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error, ) Middleware
NewPredicateMiddleware 创建条件中间件 只有当 predicate 返回 true 时才执行 handle
func NewRatioMetricsMiddleware ¶
func NewRatioMetricsMiddleware() Middleware
NewRatioMetricsMiddleware 创建比例指标中间件
func NewRetryMiddleware ¶
func NewRetryMiddleware(maxAttempts int) Middleware
NewRetryMiddleware 创建重试中间件
func NewRetryMiddlewareWithConfig ¶
func NewRetryMiddlewareWithConfig(maxAttempts int, backoff BackoffStrategy, retryable RetryableChecker) Middleware
NewRetryMiddlewareWithConfig 创建重试中间件,指定配置
func NewSQLLoggingMiddleware ¶
func NewSQLLoggingMiddleware() Middleware
NewSQLLoggingMiddleware 创建 SQL 专用日志中间件
func NewSimpleMiddleware ¶
func NewSimpleMiddleware(name string, handle func(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error) Middleware
NewSimpleMiddleware 创建简单中间件
func NewSlowQueryLoggingMiddleware ¶
func NewSlowQueryLoggingMiddleware(threshold time.Duration) Middleware
NewSlowQueryLoggingMiddleware 创建慢查询日志中间件 threshold: 超过此时长的查询会被记录为慢查询
func NewTimeoutMiddleware ¶
func NewTimeoutMiddleware() Middleware
NewTimeoutMiddleware 创建超时中间件 使用默认超时时间(30 秒)
func NewTimeoutMiddlewareWithDuration ¶
func NewTimeoutMiddlewareWithDuration(timeout time.Duration) Middleware
NewTimeoutMiddlewareWithDuration 创建超时中间件,指定超时时间
func NewValidationMiddleware ¶
func NewValidationMiddleware() Middleware
NewValidationMiddleware 创建验证中间件
func WrapMiddleware ¶
func WrapMiddleware(name string, handle func(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error) Middleware
WrapMiddleware 将简单的处理函数包装为中间件
type PatternValidator ¶
type PatternValidator struct {
// contains filtered or unexported fields
}
PatternValidator 模式验证器 检查 SQL 是否匹配预定义的模式
func NewPatternValidator ¶
func NewPatternValidator(allow bool) *PatternValidator
NewPatternValidator 创建模式验证器 allow: true 表示只允许匹配的模式,false 表示拒绝匹配的模式
func (*PatternValidator) AddPattern ¶
func (v *PatternValidator) AddPattern(pattern string) error
AddPattern 添加模式
func (*PatternValidator) Validate ¶
func (v *PatternValidator) Validate(ctx context.Context, execCtx *executor.ExecutionContext) error
Validate 验证模式
type PredicateMiddleware ¶
type PredicateMiddleware struct {
// contains filtered or unexported fields
}
PredicateMiddleware 条件中间件
func (*PredicateMiddleware) Handle ¶
func (m *PredicateMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
type QueryMetrics ¶
type QueryMetrics struct {
TotalQueries int64
TotalErrors int64
SuccessCount int64
TotalTime time.Duration
AverageTime time.Duration
MinTime time.Duration
MaxTime time.Duration
ErrorRate float64
QueriesPerSec float64
}
QueryMetrics 查询指标
type QueryStatistics ¶
type QueryStatistics struct {
TotalQueries int64
SelectCount int64
InsertCount int64
UpdateCount int64
DeleteCount int64
OtherCount int64
SelectRatio float64
InsertRatio float64
UpdateRatio float64
DeleteRatio float64
OtherRatio float64
}
QueryStatistics 查询统计信息
type RatioMetricsMiddleware ¶
type RatioMetricsMiddleware struct {
// contains filtered or unexported fields
}
RatioMetricsMiddleware 比例指标中间件 统计不同查询类型的比例
func (*RatioMetricsMiddleware) GetStatistics ¶
func (m *RatioMetricsMiddleware) GetStatistics() QueryStatistics
GetStatistics 获取统计信息
func (*RatioMetricsMiddleware) Handle ¶
func (m *RatioMetricsMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
type RetryMiddleware ¶
type RetryMiddleware struct {
// contains filtered or unexported fields
}
RetryMiddleware 重试中间件 当查询失败时自动重试
func (*RetryMiddleware) Handle ¶
func (m *RetryMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
type RetryableChecker ¶
RetryableChecker 检查错误是否可重试
type SQLInjectionValidator ¶
type SQLInjectionValidator struct {
// contains filtered or unexported fields
}
SQLInjectionValidator SQL 注入防护验证器
func (*SQLInjectionValidator) Validate ¶
func (v *SQLInjectionValidator) Validate(ctx context.Context, execCtx *executor.ExecutionContext) error
Validate 验证 SQL 注入
type SQLLoggingMiddleware ¶
type SQLLoggingMiddleware struct {
// contains filtered or unexported fields
}
SQLLoggingMiddleware SQL 专用日志中间件 只记录 SQL 和执行时间,不记录其他信息
func (*SQLLoggingMiddleware) Handle ¶
func (m *SQLLoggingMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
type SQLValidator ¶
type SQLValidator struct {
// contains filtered or unexported fields
}
SQLValidator SQL 验证器
func (*SQLValidator) Validate ¶
func (v *SQLValidator) Validate(ctx context.Context, execCtx *executor.ExecutionContext) error
Validate 验证 SQL
type SimpleMiddleware ¶
type SimpleMiddleware struct {
// contains filtered or unexported fields
}
SimpleMiddleware 定义简单的中间件实现
func (*SimpleMiddleware) Handle ¶
func (m *SimpleMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
type SlowQueryLoggingMiddleware ¶
type SlowQueryLoggingMiddleware struct {
// contains filtered or unexported fields
}
SlowQueryLoggingMiddleware 慢查询日志中间件 只记录执行时间超过阈值的查询
func (*SlowQueryLoggingMiddleware) GetThreshold ¶
func (m *SlowQueryLoggingMiddleware) GetThreshold() time.Duration
GetThreshold 获取慢查询阈值
func (*SlowQueryLoggingMiddleware) Handle ¶
func (m *SlowQueryLoggingMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
func (*SlowQueryLoggingMiddleware) Name ¶
func (m *SlowQueryLoggingMiddleware) Name() string
Name 返回中间件名称
func (*SlowQueryLoggingMiddleware) SetThreshold ¶
func (m *SlowQueryLoggingMiddleware) SetThreshold(threshold time.Duration)
SetThreshold 设置慢查询阈值
type TimeoutMiddleware ¶
type TimeoutMiddleware struct {
// contains filtered or unexported fields
}
TimeoutMiddleware 超时中间件 限制查询执行时间,超时则取消查询
func (*TimeoutMiddleware) GetDuration ¶
func (m *TimeoutMiddleware) GetDuration() time.Duration
GetDuration 获取超时时间(别名)
func (*TimeoutMiddleware) GetTimeout ¶
func (m *TimeoutMiddleware) GetTimeout() time.Duration
GetTimeout 获取超时时间
func (*TimeoutMiddleware) Handle ¶
func (m *TimeoutMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
func (*TimeoutMiddleware) SetDuration ¶
func (m *TimeoutMiddleware) SetDuration(duration time.Duration)
SetDuration 设置超时时间(别名)
func (*TimeoutMiddleware) SetTimeout ¶
func (m *TimeoutMiddleware) SetTimeout(timeout time.Duration)
SetTimeout 设置超时时间
type TimeoutStatistics ¶
type TimeoutStatistics struct {
TotalExecutions int64
TimeoutExceeds int64
AverageDuration time.Duration
MaxDuration time.Duration
MinDuration time.Duration
CurrentTimeout time.Duration
TimeoutExceedRate float64
}
TimeoutStatistics 超时统计信息
type ValidationMiddleware ¶
type ValidationMiddleware struct {
// contains filtered or unexported fields
}
ValidationMiddleware 验证中间件 在执行查询前进行验证
func (*ValidationMiddleware) AddValidator ¶
func (m *ValidationMiddleware) AddValidator(validator Validator)
AddValidator 添加验证器
func (*ValidationMiddleware) Handle ¶
func (m *ValidationMiddleware) Handle(ctx context.Context, execCtx *executor.ExecutionContext, next Next) error
Handle 处理请求
type Validator ¶
type Validator interface {
// Validate 验证执行上下文
Validate(ctx context.Context, execCtx *executor.ExecutionContext) error
}
Validator 验证器接口
func NewCompositeValidator ¶
NewCompositeValidator 创建复合验证器
func NewCustomValidator ¶
func NewCustomValidator(name string, validate func(ctx context.Context, execCtx *executor.ExecutionContext) error) Validator
NewCustomValidator 创建自定义验证器
func NewLengthValidator ¶
NewLengthValidator 创建 SQL 长度验证器
func NewSQLInjectionValidator ¶
func NewSQLInjectionValidator() Validator
NewSQLInjectionValidator 创建 SQL 注入防护验证器