diff --git a/binding/binding_test.go b/binding/binding_test.go index baae2feb..827518f9 100644 --- a/binding/binding_test.go +++ b/binding/binding_test.go @@ -681,6 +681,15 @@ func TestHeaderBinding(t *testing.T) { assert.NoError(t, h.Bind(req, &theader)) assert.Equal(t, 1000, theader.Limit) + req = requestWithBody("GET", "/", "") + req.Header.Add("fail", `{fail:fail}`) + + type failStruct struct { + Fail map[string]interface{} `header:"fail"` + } + + err := h.Bind(req, &failStruct{}) + assert.Error(t, err) } func TestUriBinding(t *testing.T) { diff --git a/binding/form_mapping.go b/binding/form_mapping.go index ebf3b199..e5426819 100644 --- a/binding/form_mapping.go +++ b/binding/form_mapping.go @@ -38,8 +38,6 @@ type setter interface { type formSource map[string][]string -var _ setter = formSource(nil) - // TrySet tries to set a value by request's form source (like map[string][]string) func (form formSource) TrySet(value reflect.Value, field reflect.StructField, tagValue string, opt setOptions) (isSetted bool, err error) { return setByForm(value, field, form, tagValue, opt) diff --git a/binding/header.go b/binding/header.go index 929ff618..ce40b15c 100644 --- a/binding/header.go +++ b/binding/header.go @@ -27,8 +27,6 @@ func mapHeader(ptr interface{}, h map[string][]string) error { type headerSource map[string][]string -//var _ setter = headerSource(nil) - func (hs headerSource) TrySet(value reflect.Value, field reflect.StructField, tagValue string, opt setOptions) (isSetted bool, err error) { return setByForm(value, field, hs, textproto.CanonicalMIMEHeaderKey(tagValue), opt) }