body module

This commit is contained in:
David Bayo Alcaide 2018-02-16 20:32:15 +01:00
parent 783c7ee9c1
commit 9c90e22b85

30
binding/body.go Normal file
View File

@ -0,0 +1,30 @@
package binding
import "net/url"
// Body type map[string]interface{}
type Body map[string]interface{}
// ToBody transforms object into Body type.
func ToBody(in interface{}) *Body {
switch in.(type) {
case Body:
res := in.(Body)
return &res
case url.Values:
result := make(Body)
for key, value := range in.(url.Values) {
if len(value) == 1 {
result[key] = value[0]
} else {
result[key] = value
}
}
return &result
}
return new(Body)
}