Feature: make every provider support health check

This commit is contained in:
Dreamacro
2019-12-26 18:41:06 +08:00
parent 3435c67e68
commit af40048841
4 changed files with 70 additions and 85 deletions

View File

@ -35,13 +35,11 @@ func ParseProxyProvider(name string, mapping map[string]interface{}) (ProxyProvi
return nil, err
}
var healthCheckOption *HealthCheckOption
var hcInterval uint = 0
if schema.HealthCheck.Enable {
healthCheckOption = &HealthCheckOption{
URL: schema.HealthCheck.URL,
Interval: uint(schema.HealthCheck.Interval),
}
hcInterval = uint(schema.HealthCheck.Interval)
}
hc := NewHealthCheck([]C.Proxy{}, schema.HealthCheck.URL, hcInterval)
path := C.Path.Reslove(schema.Path)
@ -56,5 +54,5 @@ func ParseProxyProvider(name string, mapping map[string]interface{}) (ProxyProvi
}
interval := time.Duration(uint(schema.Interval)) * time.Second
return NewProxySetProvider(name, interval, vehicle, healthCheckOption), nil
return NewProxySetProvider(name, interval, vehicle, hc), nil
}