29 lines
609 B
Go
29 lines
609 B
Go
package httphandlers
|
|
|
|
import (
|
|
"encoding/json"
|
|
"encoding/xml"
|
|
"net/http"
|
|
|
|
"fiskerinc.com/modules/validator"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
func ParseRequest(r *http.Request, data interface{}) error {
|
|
err := json.NewDecoder(r.Body).Decode(data)
|
|
if err != nil {
|
|
return errors.WithStack(err)
|
|
}
|
|
|
|
return errors.Wrapf(validator.ValidateStruct(data), "request %v", data)
|
|
}
|
|
|
|
func ParseXMLRequest(r *http.Request, data interface{}) error {
|
|
err := xml.NewDecoder(r.Body).Decode(data)
|
|
if err != nil {
|
|
return errors.WithStack(err)
|
|
}
|
|
|
|
return errors.Wrapf(validator.ValidateStruct(data), "request %v", data)
|
|
}
|