From 1fd4868074c29b1a7d03f380684e2a5104317313 Mon Sep 17 00:00:00 2001 From: "Alessandro (Ale) Segala" <43508+ItalyPaleAle@users.noreply.github.com> Date: Sun, 18 Oct 2020 00:36:23 +0000 Subject: [PATCH] Changed as requested --- binding/form_mapping.go | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/binding/form_mapping.go b/binding/form_mapping.go index 2bcbf764..2f4e45b4 100644 --- a/binding/form_mapping.go +++ b/binding/form_mapping.go @@ -367,6 +367,7 @@ func head(str, sep string) (head string, tail string) { func setFormMap(ptr interface{}, form map[string][]string) error { el := reflect.TypeOf(ptr).Elem() + if el.Kind() == reflect.Slice { ptrMap, ok := ptr.(map[string][]string) if !ok { @@ -375,14 +376,17 @@ func setFormMap(ptr interface{}, form map[string][]string) error { for k, v := range form { ptrMap[k] = v } - } else { - ptrMap, ok := ptr.(map[string]string) - if !ok { - return errors.New("cannot convert to map of strings") - } - for k, v := range form { - ptrMap[k] = v[len(v)-1] // pick last - } + + return nil } + + ptrMap, ok := ptr.(map[string]string) + if !ok { + return errors.New("cannot convert to map of strings") + } + for k, v := range form { + ptrMap[k] = v[len(v)-1] // pick last + } + return nil }