func benchRequest(b *testing.B, router http.Handler, r *http.Request) { w := mockResponseWriter{} u := r.URL r.RequestURI = u.RequestURI() b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { router.ServeHTTP(&w, r) // clear caches r.Form = nil r.PostForm = nil r.MultipartForm = nil } }
func defaultMultipartFormBinder(req *http.Request, userStruct FieldMapper) Errors { var errs Errors multipartReader, err := req.MultipartReader() if err != nil { errs.Add([]string{}, DeserializationError, err.Error()) return errs } form, parseErr := multipartReader.ReadForm(MaxMemory) if parseErr != nil { errs.Add([]string{}, DeserializationError, parseErr.Error()) return errs } req.MultipartForm = form return bindForm(req, userStruct, req.MultipartForm.Value, req.MultipartForm.File, errs) }