refactor rest code (#895)

master
Kevin Wan 3 years ago committed by GitHub
parent 28a7c9d38f
commit 54d57c7d4b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -322,12 +322,13 @@ func (u *Unmarshaler) processNamedField(field reflect.StructField, value reflect
if err != nil { if err != nil {
return err return err
} }
k := key
fullName = join(fullName, key)
canonicalKey := key
if u.opts.canonicalKey != nil { if u.opts.canonicalKey != nil {
k = u.opts.canonicalKey(key) canonicalKey = u.opts.canonicalKey(key)
} }
fullName = join(fullName, key) mapValue, hasValue := getValue(m, canonicalKey)
mapValue, hasValue := getValue(m, k)
if hasValue { if hasValue {
return u.processNamedFieldWithValue(field, value, mapValue, key, opts, fullName) return u.processNamedFieldWithValue(field, value, mapValue, key, opts, fullName)
} }

@ -24,7 +24,8 @@ const (
var ( var (
formUnmarshaler = mapping.NewUnmarshaler(formKey, mapping.WithStringValues()) formUnmarshaler = mapping.NewUnmarshaler(formKey, mapping.WithStringValues())
pathUnmarshaler = mapping.NewUnmarshaler(pathKey, mapping.WithStringValues()) pathUnmarshaler = mapping.NewUnmarshaler(pathKey, mapping.WithStringValues())
headerUnmarshaler = mapping.NewUnmarshaler(headerKey, mapping.WithStringValues(), mapping.WithCanonicalKeyFunc(textproto.CanonicalMIMEHeaderKey)) headerUnmarshaler = mapping.NewUnmarshaler(headerKey, mapping.WithStringValues(),
mapping.WithCanonicalKeyFunc(textproto.CanonicalMIMEHeaderKey))
) )
// Parse parses the request. // Parse parses the request.

Loading…
Cancel
Save