in pkg/admin/services/traffic/retry.go [49:86]
func (tm *RetryService) Search(r *model.Retry) ([]*model.Retry, error) {
result := make([]*model.Retry, 0)
var con string
if r.Service != "" && r.Service != "*" {
con = util.ColonSeparatedKey(r.Service, r.Group, r.Version)
}
list, err := services.GetRules(con, constant.ConfiguratorRuleSuffix)
if err != nil {
return result, err
}
for k, v := range list {
k, _ = strings.CutSuffix(k, constant.ConfiguratorRuleSuffix)
split := strings.Split(k, ":")
retry := &model.Retry{
Service: split[0],
}
if len(split) >= 2 {
retry.Version = split[1]
}
if len(split) >= 3 {
retry.Group = split[2]
}
rv, err2 := getValue(v, "consumer", "retries")
if err2 != nil {
return result, err2
}
if rv != nil {
retry.Retry = rv.(int)
result = append(result, retry)
}
}
return result, nil
}