38 lines
		
	
	
		
			964 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			964 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package param
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
)
 | 
						|
 | 
						|
// 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) {
 | 
						|
	p.required = true
 | 
						|
}
 | 
						|
 | 
						|
// InHeader indicates that this param is passed via an http header
 | 
						|
var InHeader MethodParamOption = func(p *MethodParam) {
 | 
						|
	p.in = header
 | 
						|
}
 | 
						|
 | 
						|
// InPath indicates that this param is part of the URL path
 | 
						|
var InPath MethodParamOption = func(p *MethodParam) {
 | 
						|
	p.in = path
 | 
						|
}
 | 
						|
 | 
						|
// InBody indicates that this param is passed as an http request body
 | 
						|
var InBody MethodParamOption = func(p *MethodParam) {
 | 
						|
	p.in = body
 | 
						|
}
 | 
						|
 | 
						|
// Default provides a default value for the http param
 | 
						|
func Default(defaultValue interface{}) MethodParamOption {
 | 
						|
	return func(p *MethodParam) {
 | 
						|
		if defaultValue != nil {
 | 
						|
			p.defaultValue = fmt.Sprint(defaultValue)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |