Documentation ¶
Index ¶
Constants ¶
const ( MIMEJSON = xbinding.MIMEJSON // "application/json" MIMEHTML = xbinding.MIMEHTML // "text/html" MIMEXML = xbinding.MIMEXML // "application/xml" MIMEXML2 = xbinding.MIMEXML2 // "text/xml" MIMEPlain = xbinding.MIMEPlain // "text/plain" MIMEPOSTForm = xbinding.MIMEPOSTForm // "application/x-www-form-urlencoded" MIMEMultipartPOSTForm = xbinding.MIMEMultipartPOSTForm // "multipart/form-data" MIMEPROTOBUF = xbinding.MIMEPROTOBUF // "application/x-protobuf" MIMEMSGPACK = xbinding.MIMEMSGPACK // "application/x-msgpack" MIMEMSGPACK2 = xbinding.MIMEMSGPACK2 // "application/msgpack" MIMEYAML = xbinding.MIMEYAML // "application/x-yaml" )
Content-Type MIME of the most common data formats.
const (
MIMETOML = "application/toml"
)
Variables ¶
var ( Plain = textCodec{} TOML = tomlBinding{} )
var ( JSON = jsonBinding{} XML = xmlBinding{} Form = formBinding{} Query = queryBinding{} FormPost = formPostBinding{} FormMultipart = formMultipartBinding{} ProtoBuf = protobufBinding{} YAML = yamlBinding{} Uri = uriBinding{} Header = headerBinding{} )
These implement the Binding interface and can be used to bind the data present in the request to struct instances.
var ( // ErrConvertMapStringSlice can not covert to map[string][]string ErrConvertMapStringSlice = errors.New("can not convert to map slices of strings") // ErrConvertToMapString can not convert to map[string]string ErrConvertToMapString = errors.New("can not convert to map of strings") )
var ( // ErrMultiFileHeader multipart.FileHeader invalid ErrMultiFileHeader = errors.New("unsupported field type for multipart.FileHeader") // ErrMultiFileHeaderLenInvalid array for []*multipart.FileHeader len invalid ErrMultiFileHeaderLenInvalid = errors.New("unsupported len of array for []*multipart.FileHeader") )
var EnableDecoderDisallowUnknownFields = false
EnableDecoderDisallowUnknownFields is used to call the DisallowUnknownFields method on the JSON Decoder instance. DisallowUnknownFields causes the Decoder to return an error when the destination is a struct and the input contains object keys which do not match any non-ignored, exported fields in the destination.
var EnableDecoderUseNumber = false
EnableDecoderUseNumber is used to call the UseNumber method on the JSON Decoder instance. UseNumber causes the Decoder to unmarshal a number into an interface{} as a Number instead of as a float64.
Functions ¶
Types ¶
type Binding ¶
type Binding interface { Name() string Bind(xbinding.Reader, interface{}) error ContentType() string Marshal(v interface{}) ([]byte, error) }
Binding describes the interface which needs to be implemented for binding the data present in the request such as JSON request body, query parameters or the form POST.
type SliceValidationError ¶
type SliceValidationError []error
func (SliceValidationError) Error ¶
func (err SliceValidationError) Error() string
Error concatenates all error elements in SliceValidationError into a single string separated by \n.
type StructValidator ¶
type StructValidator interface { // ValidateStruct can receive any kind of type and it should never panic, even if the configuration is not right. // If the received type is a slice|array, the validation should be performed travel on every element. // If the received type is not a struct or slice|array, any validation should be skipped and nil must be returned. // If the received type is a struct or pointer to a struct, the validation should be performed. // If the struct is not valid or the validation itself fails, a descriptive error should be returned. // Otherwise nil must be returned. ValidateStruct(interface{}) error // Engine returns the underlying validator engine which powers the // StructValidator implementation. Engine() interface{} }
StructValidator is the minimal interface which needs to be implemented in order for it to be used as the validator engine for ensuring the correctness of the request. Gin provides a default implementation for this using https://github.com/go-playground/validator/tree/v10.6.1.
var Validator StructValidator = &defaultValidator{}
Validator is the default validator which implements the StructValidator interface. It uses https://github.com/go-playground/validator/tree/v10.6.1 under the hood.
Source Files ¶
- binding.ext.go
- binding.go
- data.transfer.go
- default_validator.go
- form.ext.go
- form.go
- form_mapping.go
- header.ext.go
- header.go
- json.ext.go
- json.go
- multipart_form_mapping.go
- protobuf.ext.go
- protobuf.go
- query.ext.go
- query.go
- resolver.go
- text.go
- toml.ext.go
- uri.ext.go
- xml.ext.go
- xml.go
- yaml.ext.go
- yaml.go