1
0
mirror of https://github.com/rancher/norman.git synced 2025-09-02 07:44:51 +00:00

Subcontext and mapping updates

This commit is contained in:
Darren Shepherd
2017-11-21 13:46:30 -07:00
parent 3ba704aef1
commit 38c9c5c6c3
78 changed files with 1694 additions and 996 deletions

26
api/handler/validate.go Normal file
View File

@@ -0,0 +1,26 @@
package handler
import (
"github.com/rancher/norman/parse"
"github.com/rancher/norman/parse/builder"
"github.com/rancher/norman/types"
)
func ParseAndValidateBody(apiContext *types.APIContext) (map[string]interface{}, error) {
data, err := parse.Body(apiContext.Request)
if err != nil {
return nil, err
}
b := builder.NewBuilder(apiContext)
data, err = b.Construct(apiContext.Schema, data, builder.Create)
validator := apiContext.Schema.Validator
if validator != nil {
if err := validator(apiContext, data); err != nil {
return nil, err
}
}
return data, nil
}