本文整理匯總了Golang中github.com/go-swagger/go-swagger/errors.NewParseError函數的典型用法代碼示例。如果您正苦於以下問題:Golang NewParseError函數的具體用法?Golang NewParseError怎麽用?Golang NewParseError使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了NewParseError函數的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *UpdateOneParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
var body models.Item
if err := route.Consumer.Consume(r.Body, &body); err != nil {
res = append(res, errors.NewParseError("body", "body", "", err))
} else {
if err := body.Validate(route.Formats); err != nil {
res = append(res, err)
}
if len(res) == 0 {
o.Body = &body
}
}
rID, rhkID, _ := route.Params.GetOK("id")
if err := o.bindID(rID, rhkID, route.Formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例2: TestParseContentType
func TestParseContentType(t *testing.T) {
_, _, reason1 := mime.ParseMediaType("application(")
_, _, reason2 := mime.ParseMediaType("application/json;char*")
data := []struct {
hdr, mt, cs string
err *errors.ParseError
}{
{"application/json", "application/json", "", nil},
{"text/html; charset=utf-8", "text/html", "utf-8", nil},
{"text/html;charset=utf-8", "text/html", "utf-8", nil},
{"", "application/octet-stream", "", nil},
{"text/html; charset=utf-8", "text/html", "utf-8", nil},
{"application(", "", "", errors.NewParseError("Content-Type", "header", "application(", reason1)},
{"application/json;char*", "", "", errors.NewParseError("Content-Type", "header", "application/json;char*", reason2)},
}
headers := http.Header(map[string][]string{})
for _, v := range data {
if v.hdr != "" {
headers.Set("content-type", v.hdr)
} else {
headers.Del("content-type")
}
ct, cs, err := ContentType(headers)
if v.err == nil {
assert.NoError(t, err, "input: %q", v.hdr)
} else {
assert.Error(t, err, "input: %q", v.hdr)
assert.IsType(t, &errors.ParseError{}, err, "input: %q", v.hdr)
assert.Equal(t, v.err.Error(), err.Error(), "input: %q", v.hdr)
}
assert.Equal(t, v.mt, ct, "input: %q", v.hdr)
assert.Equal(t, v.cs, cs, "input: %q", v.hdr)
}
}
示例3: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *PlaceOrderParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
if err := route.Consumer.Consume(r.Body, &o.Body); err != nil {
res = append(res, errors.NewParseError("body", "body", "", err))
} else {
if err := o.Body.Validate(route.Formats); err != nil {
res = append(res, err)
}
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例4: ContentType
// ContentType parses a content type header
func ContentType(headers http.Header) (string, string, *errors.ParseError) {
ct := headers.Get(HeaderContentType)
orig := ct
if ct == "" {
ct = DefaultMime
}
mt, opts, err := mime.ParseMediaType(ct)
if err != nil {
return "", "", errors.NewParseError(HeaderContentType, "header", orig, err)
}
if cs, ok := opts[charsetKey]; ok {
return mt, cs, nil
}
return mt, "", nil
}
示例5: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *CreateUsersWithListInputParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
var body []*models.User
if err := route.Consumer.Consume(r.Body, &body); err != nil {
res = append(res, errors.NewParseError("body", "body", "", err))
} else {
if len(res) == 0 {
o.Body = body
}
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例6: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *PostEventParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
ev := new(models.Event)
if err := route.Consumer.Consume(r.Body, ev); err != nil {
res = append(res, errors.NewParseError("event", "body", "", err))
} else {
if err := ev.Validate(route.Formats); err != nil {
res = append(res, err)
}
o.Event = ev
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例7: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *CreateUsersWithListInputParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
if err := route.Consumer.Consume(r.Body, &o.Body); err != nil {
res = append(res, errors.NewParseError("body", "body", "", err))
} else {
for _, io := range o.Body {
if err := io.Validate(route.Formats); err != nil {
res = append(res, err)
break
}
}
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例8: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *AddUserParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
var body models.UserRegistration
if err := route.Consumer.Consume(r.Body, &body); err != nil {
res = append(res, errors.NewParseError("user", "body", "", err))
} else {
if err := body.Validate(route.Formats); err != nil {
res = append(res, err)
}
if len(res) == 0 {
o.User = &body
}
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例9: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *PutEventByIDParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
if err := o.bindID(route.Params.Get("id"), route.Formats); err != nil {
res = append(res, err)
}
if err := route.Consumer.Consume(r.Body, o.Event); err != nil {
res = append(res, errors.NewParseError("event", "body", "", err))
} else {
if err := o.Event.Validate(route.Formats); err != nil {
res = append(res, err)
}
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例10: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *AddLearningResourceParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
var body models.LearningResourceInput
if err := route.Consumer.Consume(r.Body, &body); err != nil {
res = append(res, errors.NewParseError("learningResource", "body", "", err))
} else {
if err := body.Validate(route.Formats); err != nil {
res = append(res, err)
}
if len(res) == 0 {
o.LearningResource = body
}
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例11: BindRequest
// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
// for simple values it will use straight method calls
func (o *AddOneParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
var res []error
rdr := newBufferingReadCloser(r.Body)
defer r.Body.Close()
var body models.Item
if err := route.Consumer.Consume(rdr, &body); err != nil {
res = append(res, errors.NewParseError("body", "body", "", err))
} else {
if err := body.Validate(route.Formats); err != nil {
res = append(res, err)
}
if len(res) == 0 {
o.Body = &body
}
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
示例12: Bind
func (p *untypedParamBinder) Bind(request *http.Request, routeParams RouteParams, consumer httpkit.Consumer, target reflect.Value) error {
// fmt.Println("binding", p.name, "as", p.Type())
switch p.parameter.In {
case "query":
data, custom, err := p.readValue(request.URL.Query(), target)
if err != nil {
return err
}
if custom {
return nil
}
return p.bindValue(data, target)
case "header":
data, custom, err := p.readValue(request.Header, target)
if err != nil {
return err
}
if custom {
return nil
}
return p.bindValue(data, target)
case "path":
data, custom, err := p.readValue(routeParams, target)
if err != nil {
return err
}
if custom {
return nil
}
return p.bindValue(data, target)
case "formData":
var err error
var mt string
mt, _, e := httpkit.ContentType(request.Header)
if e != nil {
// because of the interface conversion go thinks the error is not nil
// so we first check for nil and then set the err var if it's not nil
err = e
}
if err != nil {
return errors.InvalidContentType("", []string{"multipart/form-data", "application/x-www-form-urlencoded"})
}
if mt != "multipart/form-data" && mt != "application/x-www-form-urlencoded" {
return errors.InvalidContentType(mt, []string{"multipart/form-data", "application/x-www-form-urlencoded"})
}
if mt == "multipart/form-data" {
if err := request.ParseMultipartForm(defaultMaxMemory); err != nil {
return errors.NewParseError(p.Name, p.parameter.In, "", err)
}
}
if err := request.ParseForm(); err != nil {
return errors.NewParseError(p.Name, p.parameter.In, "", err)
}
if p.parameter.Type == "file" {
file, header, err := request.FormFile(p.parameter.Name)
if err != nil {
return errors.NewParseError(p.Name, p.parameter.In, "", err)
}
target.Set(reflect.ValueOf(httpkit.File{Data: file, Header: header}))
return nil
}
if request.MultipartForm != nil {
data, custom, err := p.readValue(url.Values(request.MultipartForm.Value), target)
if err != nil {
return err
}
if custom {
return nil
}
return p.bindValue(data, target)
}
data, custom, err := p.readValue(url.Values(request.PostForm), target)
if err != nil {
return err
}
if custom {
return nil
}
return p.bindValue(data, target)
case "body":
newValue := reflect.New(target.Type())
if err := consumer.Consume(request.Body, newValue.Interface()); err != nil {
if err == io.EOF && p.parameter.Default != nil {
target.Set(reflect.ValueOf(p.parameter.Default))
return nil
}
tpe := p.parameter.Type
if p.parameter.Format != "" {
//.........這裏部分代碼省略.........