in api/internal/core/store/validate.go [210:234]
func checkConf(reqBody interface{}) error {
switch bodyType := reqBody.(type) {
case *entity.Route:
route := reqBody.(*entity.Route)
log.Infof("type of reqBody: %#v", bodyType)
if err := checkUpstream(route.Upstream); err != nil {
return err
}
// todo: this is a temporary method, we'll drop it later
if err := checkRemoteAddr(route.RemoteAddrs); err != nil {
return err
}
case *entity.Service:
service := reqBody.(*entity.Service)
if err := checkUpstream(service.Upstream); err != nil {
return err
}
case *entity.Upstream:
upstream := reqBody.(*entity.Upstream)
if err := checkUpstream(&upstream.UpstreamDef); err != nil {
return err
}
}
return nil
}