Skip to content

Commit

Permalink
auto decompress gzip even Accept-Encodeing is set
Browse files Browse the repository at this point in the history
  • Loading branch information
imroc committed May 29, 2017
1 parent 24442b5 commit 72f8828
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions req.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package req

import (
"bytes"
"compress/gzip"
"encoding/json"
"encoding/xml"
"errors"
Expand Down Expand Up @@ -268,8 +269,18 @@ func (r *Req) Do(method, rawurl string, v ...interface{}) (resp *Resp, err error

resp.resp = response
ct := response.Header.Get("Content-Type")
if ct == "" || regTextContentType.MatchString(ct) {
respBody, err := ioutil.ReadAll(response.Body)
if ct == "" || regTextContentType.MatchString(ct) { // text
defer response.Body.Close()
var reader io.Reader
if _, ok := resp.client.Transport.(*http.Transport); ok && response.Header.Get("Content-Encoding") == "gzip" && req.Header.Get("Accept-Encoding") != "" {
reader, err = gzip.NewReader(response.Body)
if err != nil {
return nil, err
}
} else {
reader = response.Body
}
respBody, err := ioutil.ReadAll(reader)
if err != nil {
return resp, err
}
Expand Down

0 comments on commit 72f8828

Please sign in to comment.