ProductBarcode: backend: fix resource leak with defer

This commit is contained in:
Crumb Owl
2025-07-06 19:25:18 +00:00
parent 94e81809d3
commit f72fcb0800

View File

@@ -192,7 +192,6 @@ func (ctrl *V1Controller) HandleProductSearchFromBarcode(conf config.BarcodeAPIC
if err != nil {
return nil, err
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("barcodespider API returned status code: %d", resp.StatusCode)
@@ -204,6 +203,8 @@ func (ctrl *V1Controller) HandleProductSearchFromBarcode(conf config.BarcodeAPIC
return nil, err
}
resp.Body.Close()
// Convert the body to type string
sb := string(body)
log.Info().Msg("Response: " + sb)
@@ -259,15 +260,15 @@ func (ctrl *V1Controller) HandleProductSearchFromBarcode(conf config.BarcodeAPIC
log.Warn().Msg("Cannot fetch image for URL: " + p.ImageURL + ": " + err.Error())
}
defer res.Body.Close()
// Validate response
if res.StatusCode != http.StatusOK {
res.Body.Close()
continue
}
// Read data of image
bytes, err := io.ReadAll(res.Body)
res.Body.Close()
if err != nil {
log.Warn().Msg(err.Error())
continue