diff --git a/microcluster/rest/response/response.go b/microcluster/rest/response/response.go index 0682367ab..5a8c288b5 100644 --- a/microcluster/rest/response/response.go +++ b/microcluster/rest/response/response.go @@ -4,13 +4,9 @@ import ( "bytes" "encoding/json" "fmt" - "io" - "log/slog" "net/http" "github.com/canonical/lxd/shared/api" - - "github.com/canonical/microcluster/v3/internal/log" ) // Init registers smart error mappings. @@ -170,6 +166,8 @@ func (r *manualResponse) String() string { // ParseResponse takes an HTTP response, parses it and returns the extracted result. func ParseResponse(resp *http.Response) (*api.Response, error) { + defer resp.Body.Close() + decoder := json.NewDecoder(resp.Body) response := api.Response{} @@ -186,16 +184,5 @@ func ParseResponse(resp *http.Response) (*api.Response, error) { return nil, api.StatusErrorf(resp.StatusCode, "%s", response.Error) } - defer resp.Body.Close() - _, err = io.Copy(io.Discard, resp.Body) - if err != nil { - logger, logErr := log.LoggerFromContext(resp.Request.Context()) - if logErr != nil { - return nil, err - } - - logger.Error("Failed to read response body", slog.String("error", err.Error())) - } - return &response, nil }