mirror of
https://github.com/gin-gonic/gin.git
synced 2025-10-16 13:22:09 +08:00
bindBody issue
This commit is contained in:
parent
2c9e5fe47a
commit
69e1831a5d
@ -7,6 +7,7 @@ package binding
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/url"
|
||||||
)
|
)
|
||||||
|
|
||||||
const defaultMemory = 32 << 20
|
const defaultMemory = 32 << 20
|
||||||
@ -32,6 +33,17 @@ func (formBinding) Bind(req *http.Request, obj any) error {
|
|||||||
return validate(obj)
|
return validate(obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (formBinding) BindBody(body []byte, obj any) error {
|
||||||
|
form, err := url.ParseQuery(string(body))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := mapForm(obj, form); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return validate(obj)
|
||||||
|
}
|
||||||
|
|
||||||
func (formPostBinding) Name() string {
|
func (formPostBinding) Name() string {
|
||||||
return "form-urlencoded"
|
return "form-urlencoded"
|
||||||
}
|
}
|
||||||
@ -46,6 +58,17 @@ func (formPostBinding) Bind(req *http.Request, obj any) error {
|
|||||||
return validate(obj)
|
return validate(obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (formPostBinding) BindBody(body []byte, obj any) error {
|
||||||
|
form, err := url.ParseQuery(string(body))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := mapForm(obj, form); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return validate(obj)
|
||||||
|
}
|
||||||
|
|
||||||
func (formMultipartBinding) Name() string {
|
func (formMultipartBinding) Name() string {
|
||||||
return "multipart/form-data"
|
return "multipart/form-data"
|
||||||
}
|
}
|
||||||
@ -60,3 +83,14 @@ func (formMultipartBinding) Bind(req *http.Request, obj any) error {
|
|||||||
|
|
||||||
return validate(obj)
|
return validate(obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (formMultipartBinding) BindBody(body []byte, obj any) error {
|
||||||
|
form, err := url.ParseQuery(string(body))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := mapForm(obj, form); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return validate(obj)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user