diff options
| author | Shulhan <m.shulhan@gmail.com> | 2023-05-11 15:23:39 +0700 |
|---|---|---|
| committer | Shulhan <m.shulhan@gmail.com> | 2023-05-11 16:16:12 +0700 |
| commit | 9d1afbf308f2ac382f364f935867ce0cef0a3573 (patch) | |
| tree | f4e3818d1b44329dea9a5a7f4a8021f0edeb087d /src/net/http/request_test.go | |
| parent | a2838ec5f20b56e94a18c873ab4b68397355e214 (diff) | |
| download | go-ms-fix-multipart-readform.tar.xz | |
mime/multipart: fix ReadForm always return (nil,io.EOF)ms-fix-multipart-readform
Previously, the condition err == io.EOF in readForm will never true and
break; it always goes to the second condition, err != nil, which
cause the returned ReadForm always nil with err is io.EOF.
As the test, we use the example with body almost similar to
ExampleNewReader with header contains "Content-Disposition:form-data".
Change-Id: I7268f45bb26eafb7f1e6e471b86eec681dde99f7
Diffstat (limited to 'src/net/http/request_test.go')
| -rw-r--r-- | src/net/http/request_test.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/net/http/request_test.go b/src/net/http/request_test.go index 78b968f23c..c952b0ad26 100644 --- a/src/net/http/request_test.go +++ b/src/net/http/request_test.go @@ -251,14 +251,17 @@ func TestParseMultipartForm(t *testing.T) { Body: io.NopCloser(new(bytes.Buffer)), } err := req.ParseMultipartForm(25) - if err == nil { - t.Error("expected multipart EOF, got nil") + if err != nil { + t.Errorf("expecting nil, got %v", err) } + // Reset to allow the call to multipartReader. + req.MultipartForm = nil + req.Header = Header{"Content-Type": {"text/plain"}} err = req.ParseMultipartForm(25) - if err != ErrNotMultipart { - t.Error("expected ErrNotMultipart for text/plain") + if !errors.Is(err, ErrNotMultipart) { + t.Errorf("expected ErrNotMultipart for text/plain, got %v", err) } } |
