bind.go 356 B

123456789101112131415161718
  1. package binding
  2. import (
  3. "net/http"
  4. "google.golang.org/protobuf/proto"
  5. )
  6. // BindForm bind form parameters to target.
  7. func BindForm(req *http.Request, target interface{}) error {
  8. if err := req.ParseForm(); err != nil {
  9. return err
  10. }
  11. if msg, ok := target.(proto.Message); ok {
  12. return mapProto(msg, req.Form)
  13. }
  14. return mapForm(target, req.Form)
  15. }