Skip to content

Commit

Permalink
nil protection
Browse files Browse the repository at this point in the history
  • Loading branch information
dadgar committed May 24, 2016
1 parent 05ea2bd commit ef77f58
Showing 1 changed file with 18 additions and 16 deletions.
34 changes: 18 additions & 16 deletions api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -264,24 +264,26 @@ func (c *Client) doRequest(r *request) (time.Duration, *http.Response, error) {
diff := time.Now().Sub(start)

// If the response is compressed, we swap the body's reader.
var reader io.ReadCloser
switch resp.Header.Get("Content-Encoding") {
case "gzip":
greader, err := gzip.NewReader(resp.Body)
if err != nil {
return 0, nil, err
if resp != nil && resp.Header != nil {
var reader io.ReadCloser
switch resp.Header.Get("Content-Encoding") {
case "gzip":
greader, err := gzip.NewReader(resp.Body)
if err != nil {
return 0, nil, err
}

// The gzip reader doesn't close the wrapped reader so we use
// multiCloser.
reader = &multiCloser{
reader: greader,
inorderClose: []io.Closer{greader, resp.Body},
}
default:
reader = resp.Body
}

// The gzip reader doesn't close the wrapped reader so we use
// multiCloser.
reader = &multiCloser{
reader: greader,
inorderClose: []io.Closer{greader, resp.Body},
}
default:
reader = resp.Body
resp.Body = reader
}
resp.Body = reader

return diff, resp, err
}
Expand Down

0 comments on commit ef77f58

Please sign in to comment.