Guarantee that (*Response).Body is non-nil
This commit is contained in:
@@ -2,8 +2,10 @@ package gemini
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"crypto/tls"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
@@ -19,6 +21,7 @@ type Response struct {
|
||||
Meta string
|
||||
|
||||
// Body contains the response body for successful responses.
|
||||
// Body is guaranteed to be non-nil.
|
||||
Body io.ReadCloser
|
||||
|
||||
// Request is the request that was sent to obtain this response.
|
||||
@@ -83,6 +86,8 @@ func (resp *Response) read(rc io.ReadCloser) error {
|
||||
|
||||
if resp.Status.Class() == StatusClassSuccess {
|
||||
resp.Body = newReadCloserBody(br, rc)
|
||||
} else {
|
||||
resp.Body = ioutil.NopCloser(bytes.NewReader([]byte{}))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user