diff --git a/internal/route/types/raw_entry.go b/internal/route/types/raw_entry.go index 0183f88..9a1e2d3 100644 --- a/internal/route/types/raw_entry.go +++ b/internal/route/types/raw_entry.go @@ -130,11 +130,18 @@ func (e *RawEntry) Finalize() { } if e.HealthCheck == nil { - e.HealthCheck = health.DefaultHealthCheckConfig() + e.HealthCheck = new(health.HealthCheckConfig) } if e.HealthCheck.Disable { e.HealthCheck = nil + } else { + if e.HealthCheck.Interval == 0 { + e.HealthCheck.Interval = common.HealthCheckIntervalDefault + } + if e.HealthCheck.Timeout == 0 { + e.HealthCheck.Timeout = common.HealthCheckTimeoutDefault + } } if cont.IdleTimeout != "" { diff --git a/internal/watcher/health/config.go b/internal/watcher/health/config.go index 4d1f830..6ecb198 100644 --- a/internal/watcher/health/config.go +++ b/internal/watcher/health/config.go @@ -2,8 +2,6 @@ package health import ( "time" - - "github.com/yusing/go-proxy/internal/common" ) type HealthCheckConfig struct { @@ -13,10 +11,3 @@ type HealthCheckConfig struct { Interval time.Duration `json:"interval" yaml:"interval"` Timeout time.Duration `json:"timeout" yaml:"timeout"` } - -func DefaultHealthCheckConfig() *HealthCheckConfig { - return &HealthCheckConfig{ - Interval: common.HealthCheckIntervalDefault, - Timeout: common.HealthCheckTimeoutDefault, - } -}