From a7100b1fdd2f4a3347d36ebd88034c8b6ec97d8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Thu, 14 May 2020 15:59:52 +0200 Subject: [PATCH] Extract `parseFields` to a func --- pkg/cmd/api/api.go | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/pkg/cmd/api/api.go b/pkg/cmd/api/api.go index 2fa1b12f5..7e4106f9d 100644 --- a/pkg/cmd/api/api.go +++ b/pkg/cmd/api/api.go @@ -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 {