Extract parseFields to a func
This commit is contained in:
parent
7ffbde3e12
commit
a7100b1fdd
1 changed files with 26 additions and 18 deletions
|
|
@ -76,24 +76,9 @@ on the format of the value:
|
|||
}
|
||||
|
||||
func apiRun(opts *ApiOptions) error {
|
||||
params := make(map[string]interface{})
|
||||
for _, f := range opts.RawFields {
|
||||
key, value, err := parseField(f)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
params[key] = value
|
||||
}
|
||||
for _, f := range opts.MagicFields {
|
||||
key, strValue, err := parseField(f)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
value, err := magicFieldValue(strValue)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error parsing %q value: %w", key, err)
|
||||
}
|
||||
params[key] = value
|
||||
params, err := parseFields(opts)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
method := opts.RequestMethod
|
||||
|
|
@ -132,6 +117,29 @@ func apiRun(opts *ApiOptions) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func parseFields(opts *ApiOptions) (map[string]interface{}, error) {
|
||||
params := make(map[string]interface{})
|
||||
for _, f := range opts.RawFields {
|
||||
key, value, err := parseField(f)
|
||||
if err != nil {
|
||||
return params, err
|
||||
}
|
||||
params[key] = value
|
||||
}
|
||||
for _, f := range opts.MagicFields {
|
||||
key, strValue, err := parseField(f)
|
||||
if err != nil {
|
||||
return params, err
|
||||
}
|
||||
value, err := magicFieldValue(strValue)
|
||||
if err != nil {
|
||||
return params, fmt.Errorf("error parsing %q value: %w", key, err)
|
||||
}
|
||||
params[key] = value
|
||||
}
|
||||
return params, nil
|
||||
}
|
||||
|
||||
func parseField(f string) (string, string, error) {
|
||||
idx := strings.IndexRune(f, '=')
|
||||
if idx == -1 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue