Documentation
¶
Overview ¶
Package tags a simplified golang reflect for your tags.
Usage ¶
Create your custom parser:
func ParseEnv(obj interface{}) error {
return tags.Parse(obj, `env`, func(tagval string) (string, error) {
envVar := os.Env(tagval)
if envVar == `` {
return ``, fmt.Errorf(`enviroment variable "%s" not found`, tagval)
}
return envVar, nil
})
}
Creating your own scanner:
func ValidateEnum(obj interface{}) error {
return tags.Scan(obj, `enum`, func(tagval string, propVal interface{}) error {
validEnums := strings.Split(tagval, `;`)
actual := fmt.Sprint(propVal)
for _, enum := range validEnums {
if actual == enum {
return nil
}
}
return fmt.Errorf(`Not a valid enum`)
})
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package defaults sets default values in your struct.
|
Package defaults sets default values in your struct. |
|
Package env is for parsing environment variables.
|
Package env is for parsing environment variables. |
|
Package flags is for parsing execution flags.
|
Package flags is for parsing execution flags. |
|
Package forms is for parsing http.Request form data Usage: func MyHandler(w http.ResponseWriter, r *http.Request) { var body reqBody if err := form.Decode(r, &body); err != nil { w.WriterHeader(http.StatusUnprocessibleEnitity) return } } type reqBody struct { Name string `form:"name"` Age int `form:"age"` }
|
Package forms is for parsing http.Request form data Usage: func MyHandler(w http.ResponseWriter, r *http.Request) { var body reqBody if err := form.Decode(r, &body); err != nil { w.WriterHeader(http.StatusUnprocessibleEnitity) return } } type reqBody struct { Name string `form:"name"` Age int `form:"age"` } |
Click to show internal directories.
Click to hide internal directories.