binding

package
v0.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2015 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package binding idea & some code from gin binding https://github.com/gin-gonic/gin/tree/master/binding , thanks gin

Index

Constants

View Source
const (
	MIMEJSON              = "application/json"
	MIMEHTML              = "text/html"
	MIMEXML               = "application/xml"
	MIMEXML2              = "text/xml"
	MIMEPlain             = "text/plain"
	MIMEPOSTForm          = "application/x-www-form-urlencoded"
	MIMEMultipartPOSTForm = "multipart/form-data"
)

Variables

View Source
var (
	JsonBinding          = jsonBinder{}
	FormBinding          = formBinder{}
	FormPostBinding      = formPostBinder{}
	FormMultipartBinding = formMultipartBinder{}
)

Functions

func BindWith

func BindWith(req *http.Request, obj interface{}, b Binder) error

Types

type Binder

type Binder interface {
	Bind(*http.Request, interface{}) error
}

func Default

func Default(method, contentType string) Binder

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 not a struct, 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
}
var Validator StructValidator = &defaultValidator{}

Jump to

Keyboard shortcuts

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