Use ensureReaderClosed consistently to close a response body reader.

Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
David Calavera 2015-12-04 14:57:22 -05:00
parent 7df71ca31d
commit 8c9c9e137c
10 changed files with 12 additions and 9 deletions

View file

@ -51,8 +51,7 @@ func (cli *Client) ContainerCommit(options types.ContainerCommitOptions) (types.
if err != nil {
return response, err
}
defer resp.body.Close()
defer ensureReaderClosed(resp)
if err := json.NewDecoder(resp.body).Decode(&response); err != nil {
return response, err

View file

@ -29,11 +29,13 @@ func (cli *Client) ContainerCreate(config *runconfig.ContainerConfigWrapper, con
}
if serverResp.statusCode == 404 && strings.Contains(err.Error(), config.Image) {
return response, imageNotFoundError{config.Image}
}
if err != nil {
return response, err
}
defer ensureReaderClosed(serverResp)
if err := json.NewDecoder(serverResp.body).Decode(&response); err != nil {
return response, err

View file

@ -12,7 +12,7 @@ func (cli *Client) ContainerInspect(containerID string) (types.ContainerJSON, er
if err != nil {
return types.ContainerJSON{}, err
}
defer serverResp.body.Close()
defer ensureReaderClosed(serverResp)
var response types.ContainerJSON
json.NewDecoder(serverResp.body).Decode(&response)

View file

@ -51,6 +51,7 @@ func (cli *Client) CopyToContainer(options CopyToContainerOptions) error {
if err != nil {
return err
}
defer ensureReaderClosed(response)
if response.statusCode != http.StatusOK {
return fmt.Errorf("unexpected status code from daemon: %d", response.statusCode)

View file

@ -15,7 +15,7 @@ func (cli *Client) ContainerDiff(containerID string) ([]types.ContainerChange, e
if err != nil {
return changes, err
}
defer serverResp.body.Close()
defer ensureReaderClosed(serverResp)
if err := json.NewDecoder(serverResp.body).Decode(&changes); err != nil {
return changes, err

View file

@ -14,7 +14,7 @@ func (cli *Client) ImageHistory(imageID string) ([]types.ImageHistory, error) {
if err != nil {
return history, err
}
defer serverResp.body.Close()
defer ensureReaderClosed(serverResp)
if err := json.NewDecoder(serverResp.body).Decode(&history); err != nil {
return history, err

View file

@ -41,7 +41,7 @@ func (cli *Client) ImageList(options ImageListOptions) ([]types.Image, error) {
if err != nil {
return images, err
}
defer serverResp.body.Close()
defer ensureReaderClosed(serverResp)
err = json.NewDecoder(serverResp.body).Decode(&images)
return images, err

View file

@ -15,7 +15,7 @@ func (cli *Client) Info() (types.Info, error) {
if err != nil {
return info, err
}
defer serverResp.body.Close()
defer ensureReaderClosed(serverResp)
if err := json.NewDecoder(serverResp.body).Decode(&info); err != nil {
return info, fmt.Errorf("Error reading remote info: %v", err)

View file

@ -7,6 +7,7 @@ func (cli *Client) ContainerKill(containerID, signal string) error {
var query url.Values
query.Set("signal", signal)
_, err := cli.POST("/containers/"+containerID+"/kill", query, nil, nil)
resp, err := cli.POST("/containers/"+containerID+"/kill", query, nil, nil)
ensureReaderClosed(resp)
return err
}

View file

@ -20,7 +20,7 @@ func (cli *Client) RegistryLogin(auth cliconfig.AuthConfig) (types.AuthResponse,
if err != nil {
return types.AuthResponse{}, err
}
defer resp.body.Close()
defer ensureReaderClosed(resp)
var response types.AuthResponse
err = json.NewDecoder(resp.body).Decode(&response)