Moved the defer functions

This commit is contained in:
CruxBox 2020-01-31 14:40:56 +05:30
parent 6d2f4f544e
commit b38019f956
5 changed files with 32 additions and 22 deletions

View file

@ -38,19 +38,20 @@ func PostJSON(
req.Header.Set("Content-Type", "application/json") req.Header.Set("Content-Type", "application/json")
res, err := httpClient.Do(req.WithContext(ctx)) res, err := httpClient.Do(req.WithContext(ctx))
if res != nil {
defer (func() { defer (func() {
finalErr := res.Body.Close() finalErr := res.Body.Close()
if err != nil && finalErr != nil { if err != nil && finalErr != nil {
err = fmt.Errorf("%s\n%s", err, finalErr) err = fmt.Errorf("%s\n%s", err, finalErr)
} else if err == nil { } else if err == nil {
err = finalErr err = finalErr
} }
})() })()
}
if err != nil { if err != nil {
return err return err
} }
if res.StatusCode != http.StatusOK { if res.StatusCode != http.StatusOK {
var errorBody struct { var errorBody struct {
Message string `json:"message"` Message string `json:"message"`

View file

@ -79,9 +79,7 @@ func (r *Request) Do() (err error) {
}, },
} }
res, err := client.Do(r.Req) res, err := client.Do(r.Req)
if err != nil {
return err
}
defer (func() { defer (func() {
finalErr := res.Body.Close() finalErr := res.Body.Close()
if err != nil && finalErr != nil { if err != nil && finalErr != nil {
@ -91,6 +89,10 @@ func (r *Request) Do() (err error) {
} }
})() })()
if err != nil {
return err
}
if res.StatusCode != r.WantedStatusCode { if res.StatusCode != r.WantedStatusCode {
return fmt.Errorf("incorrect status code. Expected: %d Got: %d", r.WantedStatusCode, res.StatusCode) return fmt.Errorf("incorrect status code. Expected: %d Got: %d", r.WantedStatusCode, res.StatusCode)
} }

View file

@ -109,9 +109,7 @@ func WriteTempFile(reqReader io.Reader, maxFileSizeBytes config.FileSizeBytes, a
size = -1 size = -1
tmpFileWriter, tmpFile, tmpDir, err := createTempFileWriter(absBasePath) tmpFileWriter, tmpFile, tmpDir, err := createTempFileWriter(absBasePath)
if err != nil {
return
}
defer (func() { defer (func() {
finalErr := tmpFile.Close() finalErr := tmpFile.Close()
if err != nil && finalErr != nil { if err != nil && finalErr != nil {
@ -120,6 +118,11 @@ func WriteTempFile(reqReader io.Reader, maxFileSizeBytes config.FileSizeBytes, a
err = finalErr err = finalErr
} }
})() })()
if err != nil {
return
}
// The amount of data read is limited to maxFileSizeBytes. At this point, if there is more data it will be truncated. // The amount of data read is limited to maxFileSizeBytes. At this point, if there is more data it will be truncated.
limitedReader := io.LimitReader(reqReader, int64(maxFileSizeBytes)) limitedReader := io.LimitReader(reqReader, int64(maxFileSizeBytes))
// Hash the file data. The hash will be returned. The hash is useful as a // Hash the file data. The hash will be returned. The hash is useful as a

View file

@ -123,9 +123,7 @@ func readFile(src string) (image.Image, error) {
func writeFile(img image.Image, dst string) (err error) { func writeFile(img image.Image, dst string) (err error) {
out, err := os.Create(dst) out, err := os.Create(dst)
if err != nil {
return err
}
defer (func() { defer (func() {
finalErr := out.Close() finalErr := out.Close()
if err != nil && finalErr != nil { if err != nil && finalErr != nil {
@ -135,6 +133,10 @@ func writeFile(img image.Image, dst string) (err error) {
} }
})() })()
if err != nil {
return err
}
return jpeg.Encode(out, img, &jpeg.Options{ return jpeg.Encode(out, img, &jpeg.Options{
Quality: 85, Quality: 85,
}) })

View file

@ -118,9 +118,7 @@ func (s *inviteStatements) updateInviteRetired(
) (eventIDs []string, err error) { ) (eventIDs []string, err error) {
stmt := common.TxStmt(txn, s.updateInviteRetiredStmt) stmt := common.TxStmt(txn, s.updateInviteRetiredStmt)
rows, err := stmt.QueryContext(ctx, roomNID, targetUserNID) rows, err := stmt.QueryContext(ctx, roomNID, targetUserNID)
if err != nil {
return nil, err
}
defer (func() { defer (func() {
finalErr := rows.Close() finalErr := rows.Close()
if err != nil && finalErr != nil { if err != nil && finalErr != nil {
@ -129,6 +127,10 @@ func (s *inviteStatements) updateInviteRetired(
err = finalErr err = finalErr
} }
})() })()
if err != nil {
return nil, err
}
for rows.Next() { for rows.Next() {
var inviteEventID string var inviteEventID string
if err := rows.Scan(&inviteEventID); err != nil { if err := rows.Scan(&inviteEventID); err != nil {