Documentation ¶
Index ¶
- Variables
- func Decode(values map[string][]string, ptr interface{}) error
- func DecodeForm(values map[string][]string, ptr interface{}) error
- func DecodeHeaders(values map[string][]string, ptr interface{}) error
- func DecodeParams(values map[string][]string, ptr interface{}) error
- func DecodeQuery(values map[string][]string, ptr interface{}) error
- func IsErrPath(err error) bool
- type ConversionError
- type Converter
- type Decoder
- func (d *Decoder) AddAliasTag(tag ...string) *Decoder
- func (d *Decoder) Decode(dst interface{}, src map[string][]string) error
- func (d *Decoder) IgnoreUnknownKeys(i bool) *Decoder
- func (d *Decoder) RegisterConverter(value interface{}, converterFunc Converter) *Decoder
- func (d *Decoder) SetAliasTag(tag ...string) *Decoder
- func (d *Decoder) ZeroEmpty(z bool) *Decoder
- type EmptyFieldError
- type Encoder
- type MultiError
- type UnknownKeyError
Constants ¶
This section is empty.
Variables ¶
var ( // Form Decoder. The default instance for DecodeForm function. Form = NewDecoder().SetAliasTag("form") // Query Decoder. The default instance for DecodeQuery function. Query = NewDecoder().SetAliasTag("url").IgnoreUnknownKeys(true) // allow unknown url queries // Headers Decoder. The default instance for DecodeHeaders function. Headers = NewDecoder().SetAliasTag("header").IgnoreUnknownKeys(true) // Params Decoder. The default instance for DecodeParams function. Params = NewDecoder().SetAliasTag("param").IgnoreUnknownKeys(true) )
Functions ¶
func Decode ¶
Decode maps "values" to "ptr". With one of the "form", "url" or "schema" tag fields that can override the field's name mapping to key.
func DecodeForm ¶
DecodeForm maps "values" to "ptr". With "form" tag for fields.
func DecodeHeaders ¶
DecodeHeaders maps "values" to "ptr". With "header" tag for fields.
func DecodeParams ¶
DecodeParams maps "values" to "ptr". With "param" tag for fields.
func DecodeQuery ¶
DecodeQuery maps "values" to "ptr". With "url" tag for fields.
Types ¶
type ConversionError ¶
type ConversionError struct { Key string // key from the source map. Type reflect.Type // expected type of elem Index int // index for multi-value fields; -1 for single-value fields. Err error // low-level error (when it exists) }
ConversionError stores information about a failed conversion.
func (ConversionError) Error ¶
func (e ConversionError) Error() string
type Decoder ¶
type Decoder struct {
// contains filtered or unexported fields
}
Decoder decodes values from a map[string][]string to a struct.
func (*Decoder) AddAliasTag ¶
AddAliasTag adds a tag used to locate custom field aliases. Defaults are "schema", "form" and "url".
func (*Decoder) Decode ¶
Decode decodes a map[string][]string to a struct.
The first parameter must be a pointer to a struct.
The second parameter is a map, typically url.Values from an HTTP request. Keys are "paths" in dotted notation to the struct fields and nested structs.
See the package documentation for a full explanation of the mechanics.
func (*Decoder) IgnoreUnknownKeys ¶
IgnoreUnknownKeys controls the behaviour when the decoder encounters unknown keys in the map. If i is true and an unknown field is encountered, it is ignored. This is similar to how unknown keys are handled by encoding/json. If i is false then Decode will return an error. Note that any valid keys will still be decoded in to the target struct.
To preserve backwards compatibility, the default value is false.
func (*Decoder) RegisterConverter ¶
RegisterConverter registers a converter function for a custom type.
func (*Decoder) SetAliasTag ¶
SetAliasTag overrides the tags.
func (*Decoder) ZeroEmpty ¶
ZeroEmpty controls the behaviour when the decoder encounters empty values in a map. If z is true and a key in the map has the empty string as a value then the corresponding struct field is set to the zero value. If z is false then empty strings are ignored.
The default value is false, that is empty values do not change the value of the struct field.
type EmptyFieldError ¶
type EmptyFieldError struct {
Key string // required key in the source map.
}
EmptyFieldError stores information about an empty required field.
func (EmptyFieldError) Error ¶
func (e EmptyFieldError) Error() string
type Encoder ¶
type Encoder struct {
// contains filtered or unexported fields
}
Encoder encodes values from a struct into url.Values.
func (*Encoder) AddAliasTag ¶
AddAliasTag adds a tag used to locate custom field aliases. Defaults are "schema", "form" and "url".
func (*Encoder) Encode ¶
Encode encodes a struct into map[string][]string.
Intended for use with url.Values.
func (*Encoder) RegisterEncoder ¶
RegisterEncoder registers a converter for encoding a custom type.
func (*Encoder) SetAliasTag ¶
SetAliasTag overrides the tags.
type MultiError ¶
MultiError stores multiple decoding errors.
Borrowed from the App Engine SDK.
func (MultiError) Error ¶
func (e MultiError) Error() string
type UnknownKeyError ¶
type UnknownKeyError struct {
Key string // key from the source map.
}
UnknownKeyError stores information about an unknown key in the source map.
func (UnknownKeyError) Error ¶
func (e UnknownKeyError) Error() string