46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package param
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/beego/beego/v2/server/web/context/param"
 | 
						|
)
 | 
						|
 | 
						|
// MethodParamOption defines a func which apply options on a MethodParam
 | 
						|
type MethodParamOption func(*MethodParam)
 | 
						|
 | 
						|
// IsRequired indicates that this param is required and can not be omitted from the http request
 | 
						|
var IsRequired MethodParamOption = func(p *MethodParam) {
 | 
						|
	param.IsRequired((*param.MethodParam)(p))
 | 
						|
}
 | 
						|
 | 
						|
// InHeader indicates that this param is passed via an http header
 | 
						|
var InHeader MethodParamOption = func(p *MethodParam) {
 | 
						|
	param.InHeader((*param.MethodParam)(p))
 | 
						|
}
 | 
						|
 | 
						|
// InPath indicates that this param is part of the URL path
 | 
						|
var InPath MethodParamOption = func(p *MethodParam) {
 | 
						|
	param.InPath((*param.MethodParam)(p))
 | 
						|
}
 | 
						|
 | 
						|
// InBody indicates that this param is passed as an http request body
 | 
						|
var InBody MethodParamOption = func(p *MethodParam) {
 | 
						|
	param.InBody((*param.MethodParam)(p))
 | 
						|
}
 | 
						|
 | 
						|
// Default provides a default value for the http param
 | 
						|
func Default(defaultValue interface{}) MethodParamOption {
 | 
						|
	return newMpoToOld(param.Default(defaultValue))
 | 
						|
}
 | 
						|
 | 
						|
func newMpoToOld(n param.MethodParamOption) MethodParamOption {
 | 
						|
	return func(methodParam *MethodParam) {
 | 
						|
		n((*param.MethodParam)(methodParam))
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func oldMpoToNew(old MethodParamOption) param.MethodParamOption {
 | 
						|
	return func(methodParam *param.MethodParam) {
 | 
						|
		old((*MethodParam)(methodParam))
 | 
						|
	}
 | 
						|
}
 |