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 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() 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) // Check for an http error status (ie not 200 StatusOK)
switch resp.StatusCode { switch resp.StatusCode {
@ -111,9 +107,9 @@ func (c *Client) run(method, path string, in, out interface{}) error {
return ErrInternalServer return ErrInternalServer
} }
// Unmarshall the JSON response // Decode the JSON response
if out != nil { if out != nil {
return json.Unmarshal(body, out) return json.NewDecoder(resp.Body).Decode(out)
} }
return nil return nil