/
githubmirror
/
gin
Обзор
Документация
Войти
/
githubmirror
/
gin
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v1.7.4
binding/header.go
34 строки
739 B
guonaihong
support bind http header param #1956 (#1957)
27 июн 2019, 07:47
27 июн 2019, 07:47
f98b339
Код
Авторство
О чём код?
package binding import ( "net/http" "net/textproto" "reflect" ) type headerBinding struct{} func (headerBinding) Name() string { return "header" } func (headerBinding) Bind(req *http.Request, obj interface{}) error { if err := mapHeader(obj, req.Header); err != nil { return err } return validate(obj) } func mapHeader(ptr interface{}, h map[string][]string) error { return mappingByPtr(ptr, headerSource(h), "header") } 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) }