in sdk/requests/acs_request.go [406:438]
func handleParam(request AcsRequest, dataValue reflect.Value, key, fieldPosition string) (err error) {
if dataValue.Type().String() == "[]string" {
if dataValue.IsNil() {
return
}
for j := 0; j < dataValue.Len(); j++ {
err = addParam(request, fieldPosition, key+"."+strconv.Itoa(j+1), dataValue.Index(j).String())
if err != nil {
return
}
}
} else {
if dataValue.Type().Kind().String() == "string" {
value := dataValue.String()
err = addParam(request, fieldPosition, key, value)
if err != nil {
return
}
} else if dataValue.Type().Kind().String() == "struct" {
err = flatRepeatedList(dataValue, request, fieldPosition, key+".")
if err != nil {
return
}
} else if dataValue.Type().Kind().String() == "int" {
value := dataValue.Int()
err = addParam(request, fieldPosition, key, strconv.Itoa(int(value)))
if err != nil {
return err
}
}
}
return nil
}