excluding of unused transformation to []byte

A Readers are more flexible and result in faster code that uses less memory
This commit is contained in:
Igor Dolzhikov 2014-10-26 23:56:32 +06:00
parent 275fb9600c
commit 9aa2134521

View file

@ -90,12 +90,8 @@ func (c *Client) run(method, path string, in, out interface{}) error {
return err
}
// Read the bytes from the body (make sure we defer close the body)
// make sure we defer close the body
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return err
}
// Check for an http error status (ie not 200 StatusOK)
switch resp.StatusCode {
@ -111,9 +107,9 @@ func (c *Client) run(method, path string, in, out interface{}) error {
return ErrInternalServer
}
// Unmarshall the JSON response
// Decode the JSON response
if out != nil {
return json.Unmarshal(body, out)
return json.NewDecoder(resp.Body).Decode(out)
}
return nil