mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 13:54:02 +03:00
Refactor some configuration to proxy_opts
This commit is contained in:
@@ -17,3 +17,68 @@ type ProxyOpts struct {
|
||||
IdleTimeout time.Duration
|
||||
PreferIP string
|
||||
}
|
||||
|
||||
func (p ProxyOpts) valid() error {
|
||||
switch {
|
||||
case p.Network == nil:
|
||||
return ErrNetworkIsNotDefined
|
||||
case p.AntiReplayCache == nil:
|
||||
return ErrAntiReplayCacheIsNotDefined
|
||||
case p.IPBlocklist == nil:
|
||||
return ErrIPBlocklistIsNotDefined
|
||||
case p.EventStream == nil:
|
||||
return ErrEventStreamIsNotDefined
|
||||
case p.TimeAttackDetector == nil:
|
||||
return ErrTimeAttackDetectorIsNotDefined
|
||||
case p.Logger == nil:
|
||||
return ErrLoggerIsNotDefined
|
||||
case !p.Secret.Valid():
|
||||
return ErrSecretInvalid
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p ProxyOpts) getBufferSize() int {
|
||||
if p.BufferSize < 1 {
|
||||
return DefaultBufferSize
|
||||
}
|
||||
|
||||
return int(p.BufferSize)
|
||||
}
|
||||
|
||||
func (p ProxyOpts) getConcurrency() int {
|
||||
if p.Concurrency == 0 {
|
||||
return DefaultConcurrency
|
||||
}
|
||||
|
||||
return int(p.Concurrency)
|
||||
}
|
||||
|
||||
func (p ProxyOpts) getDomainFrontingPort() int {
|
||||
if p.DomainFrontingPort == 0 {
|
||||
return DefaultDomainFrontingPort
|
||||
}
|
||||
|
||||
return int(p.DomainFrontingPort)
|
||||
}
|
||||
|
||||
func (p ProxyOpts) getIdleTimeout() time.Duration {
|
||||
if p.IdleTimeout == 0 {
|
||||
return DefaultIdleTimeout
|
||||
}
|
||||
|
||||
return p.IdleTimeout
|
||||
}
|
||||
|
||||
func (p ProxyOpts) getPreferIP() string {
|
||||
if p.PreferIP == "" {
|
||||
return DefaultPreferIP
|
||||
}
|
||||
|
||||
return p.PreferIP
|
||||
}
|
||||
|
||||
func (p ProxyOpts) getLogger(name string) Logger {
|
||||
return p.Logger.Named(name)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user