diff --git a/config/config.go b/config/config.go index 1f85d92..99dae75 100644 --- a/config/config.go +++ b/config/config.go @@ -90,12 +90,12 @@ func (config *RequestConfig) GetMaxConns(minConns uint) uint { } type Config struct { - Method string `json:"method" validate:"http_method"` // custom validations: http_method - URL string `json:"url" validate:"http_url,required"` - Timeout uint32 `json:"timeout" validate:"gte=1,lte=100000"` - DodosCount uint `json:"dodos_count" validate:"gte=1"` - RequestCount uint `json:"request_count" validation_name:"request-count" validate:"gte=1"` - NoProxyCheck utils.IOption[bool] `json:"no_proxy_check"` + Method string `json:"method" validate:"http_method"` // custom validations: http_method + URL string `json:"url" validate:"http_url,required"` + Timeout uint32 `json:"timeout" validate:"gte=1,lte=100000"` + DodosCount uint `json:"dodos_count" validate:"gte=1"` + RequestCount uint `json:"request_count" validation_name:"request-count" validate:"gte=1"` + NoProxyCheck utils.Option[bool] `json:"no_proxy_check"` } func (config *Config) MergeConfigs(newConfig *Config) { diff --git a/utils/types.go b/utils/types.go index 6a070d3..78f2815 100644 --- a/utils/types.go +++ b/utils/types.go @@ -6,10 +6,10 @@ import ( ) type NonNilConcrete interface { - ~int | ~float64 | ~string | ~bool + ~int | ~float64 | ~string | ~bool } -type IOption[T NonNilConcrete] interface { +type Option[T NonNilConcrete] interface { IsNone() bool ValueOrErr() (*T, error) ValueOr(def *T) *T