Files
bopx/option.go
T
2025-10-12 18:41:05 +08:00

47 lines
766 B
Go

package bopx
import (
"context"
"github.com/yuninks/loggerx"
)
type Options struct {
logger loggerx.LoggerInterface // 日志接口
ignoreKeys []string // 忽略签名的key
}
type Option func(*Options)
func newOptions(opts ...Option) *Options {
options := defaultOptions()
for _, opt := range opts {
opt(options)
}
return options
}
func defaultOptions() *Options {
return &Options{
logger: loggerx.NewLogger(
context.Background(),
loggerx.SetEscapeHTML(false),
),
ignoreKeys: []string{
"sign",
},
}
}
func WithLogger(logger loggerx.LoggerInterface) Option {
return func(o *Options) {
o.logger = logger
}
}
func WithIgnoreKeys(keys ...string) Option {
return func(o *Options) {
o.ignoreKeys = keys
}
}