Skip to content

Commit db86ff4

Browse files
committed
fix nil
1 parent 6bb5d30 commit db86ff4

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

response.go

+12-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package hasaki
22

33
import (
4+
"errors"
45
"github.com/json-iterator/go"
56
"io/ioutil"
67
"net/http"
@@ -16,30 +17,28 @@ func (c *Response) Err() error {
1617
}
1718

1819
func (c *Response) GetBody() ([]byte, error) {
19-
defer func() {
20-
if c.Body != nil {
21-
c.Body.Close()
22-
}
23-
}()
2420
if c.err != nil {
2521
return nil, c.err
2622
}
23+
if c.Response == nil {
24+
return nil, errors.New("response is nil")
25+
}
26+
defer c.Body.Close()
2727
return ioutil.ReadAll(c.Body)
2828
}
2929

3030
func (c *Response) BindJSON(v interface{}) error {
31-
defer func() {
32-
if c.Body != nil {
33-
c.Body.Close()
34-
}
35-
}()
36-
3731
if c.err != nil {
3832
return c.err
3933
}
40-
body, err := ioutil.ReadAll(c.Body)
34+
if c.Response == nil {
35+
return errors.New("response is nil")
36+
}
37+
defer c.Body.Close()
38+
39+
content, err := ioutil.ReadAll(c.Body)
4140
if err != nil {
4241
return err
4342
}
44-
return jsoniter.Unmarshal(body, v)
43+
return jsoniter.Unmarshal(content, v)
4544
}

0 commit comments

Comments
 (0)