Skip to content

Commit

Permalink
Merge fa57c98 into 35839cd
Browse files Browse the repository at this point in the history
  • Loading branch information
mozillazg committed Nov 7, 2016
2 parents 35839cd + fa57c98 commit 5d577db
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 7 deletions.
2 changes: 1 addition & 1 deletion request.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
)

// Version export version
const Version = "0.6.0"
const Version = "0.7.0"

// DefaultClient for NewArgs and NewRequest
var DefaultClient = new(http.Client)
Expand Down
17 changes: 17 additions & 0 deletions request_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,23 @@ func TestGzip(t *testing.T) {
assert.Equal(t, d.Get("gzipped").MustBool(), true)
}

func TestDeflate(t *testing.T) {
c := new(http.Client)
req := NewRequest(c)
url := "http://httpbin.org/deflate"
resp, _ := req.Get(url)
d, _ := resp.Json()
t2, _ := resp.Text()
c2, _ := resp.Content()
defer resp.Body.Close()

assert.Equal(t, resp.Reason() != "", true)
assert.Equal(t, resp.OK(), true)
assert.Equal(t, t2 != "", true)
assert.Equal(t, c2 != nil, true)
assert.Equal(t, d.Get("deflated").MustBool(), true)
}

func TestBasicAuth(t *testing.T) {
c := new(http.Client)
req := NewRequest(c)
Expand Down
15 changes: 9 additions & 6 deletions response.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package request

import (
"compress/gzip"
"compress/zlib"
"io"
"io/ioutil"
"net/http"
Expand Down Expand Up @@ -34,20 +35,22 @@ func (resp *Response) Content() (b []byte, err error) {
var reader io.ReadCloser
switch resp.Header.Get("Content-Encoding") {
case "gzip":
reader, err := gzip.NewReader(resp.Body)
if err != nil {
if reader, err = gzip.NewReader(resp.Body); err != nil {
return nil, err
}
case "deflate":
if reader, err = zlib.NewReader(resp.Body); err != nil {
return nil, err
}
b, err = ioutil.ReadAll(reader)
defer reader.Close()
default:
reader = resp.Body
b, err = ioutil.ReadAll(reader)
}

if err != nil {
defer reader.Close()
if b, err = ioutil.ReadAll(reader); err != nil {
return nil, err
}

resp.content = b
return b, err
}
Expand Down

0 comments on commit 5d577db

Please sign in to comment.