binding

package
v0.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2025 License: MIT, Apache-2.0 Imports: 13 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultMemory    int64                   = 32 << 20
	BodyUnmarshaller func([]byte, any) error = json.Unmarshal
)

Validator is the default validator which implements the StructValidator interface. It uses https://github.com/go-playground/validator/tree/v8.18.2 under the hood.

Functions

func Bind

func Bind(r *http.Request, obj any) error

func CommonBind added in v0.16.0

func CommonBind(s Source, obj any) error

func CommonTag added in v0.16.2

func CommonTag(tag string)

func SetByMultipartFormFile

func SetByMultipartFormFile(value reflect.Value, field *reflect.StructField, files []*multipart.FileHeader) (isSet bool, err error)

func Validate

func Validate(obj interface{}) error

Types

type Field added in v0.15.3

type Field struct {
	Tags  []Tag
	Index int
	Field *reflect.StructField
}

type HeaderSource

type HeaderSource map[string][]string

func (HeaderSource) HasValue added in v0.12.1

func (hs HeaderSource) HasValue(key string) bool

func (HeaderSource) Peek

func (hs HeaderSource) Peek(key string) ([]string, bool)

func (HeaderSource) TrySet

func (hs HeaderSource) TrySet(value reflect.Value, field *reflect.StructField, key string, opt mtos.SetOptions) (isSet bool, err error)

type MultipartSource

type MultipartSource multipart.Form

func (*MultipartSource) HasValue added in v0.12.1

func (ms *MultipartSource) HasValue(key string) bool

func (*MultipartSource) TrySet

func (ms *MultipartSource) TrySet(value reflect.Value, field *reflect.StructField, key string, opt mtos.SetOptions) (isSet bool, err error)

TrySet tries to set a value by the multipart request with the binding a form file

type RequestSource added in v0.16.0

type RequestSource struct {
	*http.Request
}

func (RequestSource) BodyBind added in v0.16.0

func (s RequestSource) BodyBind(obj any) error

func (RequestSource) Form added in v0.16.0

func (s RequestSource) Form() mtos.Setter

func (RequestSource) Header added in v0.16.0

func (s RequestSource) Header() mtos.Setter

func (RequestSource) Query added in v0.16.0

func (s RequestSource) Query() mtos.Setter

func (RequestSource) Uri added in v0.16.0

func (s RequestSource) Uri() mtos.Setter

type Source added in v0.12.0

type Source interface {
	Uri() mtos.Setter
	Query() mtos.Setter
	Header() mtos.Setter
	Form() mtos.Setter
	BodyBind(obj any) error
}

type Tag

type Tag struct {
	Key     string
	Value   string
	Options mtos.SetOptions
}

type UriSource

type UriSource http.Request

func (*UriSource) HasValue added in v0.12.1

func (req *UriSource) HasValue(key string) bool

func (*UriSource) Peek

func (req *UriSource) Peek(key string) ([]string, bool)

func (*UriSource) TrySet

func (req *UriSource) TrySet(value reflect.Value, field *reflect.StructField, key string, opt mtos.SetOptions) (isSet bool, err error)

TrySet tries to set a value by request's form source (like map[string][]string)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL