Merge bdaf3f934f3c91142427ba57050f7dc8dd4a92d2 into 1c48977cca9e7a0a41c763376b6921a23cd06fe2

This commit is contained in:
Vyom Sharma 2022-08-21 02:05:41 +00:00 committed by GitHub
commit 33f9d87f12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 8 deletions

View File

@ -583,7 +583,10 @@ func (c *Context) FormFile(name string) (*multipart.FileHeader, error) {
if err != nil {
return nil, err
}
f.Close()
err = f.Close()
if err != nil {
return nil, err
}
return fh, err
}
@ -599,13 +602,23 @@ func (c *Context) SaveUploadedFile(file *multipart.FileHeader, dst string) error
if err != nil {
return err
}
defer src.Close()
defer func(src multipart.File) {
err = src.Close()
if err != nil {
}
}(src)
out, err := os.Create(dst)
if err != nil {
return err
}
defer out.Close()
defer func(out *os.File) {
err = out.Close()
if err != nil {
}
}(out)
_, err = io.Copy(out, src)
return err

View File

@ -42,7 +42,12 @@ func createMultipartRequest() *http.Request {
boundary := "--testboundary"
body := new(bytes.Buffer)
mw := multipart.NewWriter(body)
defer mw.Close()
defer func(mw *multipart.Writer) {
err := mw.Close()
if err != nil {
must(err)
}
}(mw)
must(mw.SetBoundary(boundary))
must(mw.WriteField("foo", "bar"))
@ -76,7 +81,10 @@ func TestContextFormFile(t *testing.T) {
_, err = w.Write([]byte("test"))
assert.NoError(t, err)
}
mw.Close()
err = mw.Close()
if err != nil {
assert.Error(t, err)
}
c, _ := CreateTestContext(httptest.NewRecorder())
c.Request, _ = http.NewRequest("POST", "/", buf)
c.Request.Header.Set("Content-Type", mw.FormDataContentType())
@ -97,7 +105,10 @@ func TestContextMultipartForm(t *testing.T) {
_, err = w.Write([]byte("test"))
assert.NoError(t, err)
}
mw.Close()
err = mw.Close()
if err != nil {
assert.Error(t, err)
}
c, _ := CreateTestContext(httptest.NewRecorder())
c.Request, _ = http.NewRequest("POST", "/", buf)
c.Request.Header.Set("Content-Type", mw.FormDataContentType())
@ -112,7 +123,10 @@ func TestContextMultipartForm(t *testing.T) {
func TestSaveUploadedOpenFailed(t *testing.T) {
buf := new(bytes.Buffer)
mw := multipart.NewWriter(buf)
mw.Close()
err := mw.Close()
if err != nil {
assert.Error(t, err)
}
c, _ := CreateTestContext(httptest.NewRecorder())
c.Request, _ = http.NewRequest("POST", "/", buf)
@ -132,7 +146,10 @@ func TestSaveUploadedCreateFailed(t *testing.T) {
_, err = w.Write([]byte("test"))
assert.NoError(t, err)
}
mw.Close()
err = mw.Close()
if err != nil {
assert.Error(t, err)
}
c, _ := CreateTestContext(httptest.NewRecorder())
c.Request, _ = http.NewRequest("POST", "/", buf)
c.Request.Header.Set("Content-Type", mw.FormDataContentType())