1
0
mirror of https://github.com/golang/go synced 2024-11-22 04:34:39 -07:00

http: document that Response.Body is non-nil

Fixes #2208

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5011051
This commit is contained in:
Brad Fitzpatrick 2011-09-15 14:09:53 -07:00
parent 1505cae05d
commit 758b62bf6a
2 changed files with 10 additions and 1 deletions

View File

@ -76,7 +76,12 @@ type readClose struct {
// Do sends an HTTP request and returns an HTTP response, following // Do sends an HTTP request and returns an HTTP response, following
// policy (e.g. redirects, cookies, auth) as configured on the client. // policy (e.g. redirects, cookies, auth) as configured on the client.
// //
// Callers should close resp.Body when done reading from it. // A non-nil response always contains a non-nil resp.Body.
//
// Callers should close resp.Body when done reading from it. If
// resp.Body is not closed, the Client's underlying RoundTripper
// (typically Transport) may not be able to re-use a persistent TCP
// connection to the server for a subsequent "keep-alive" request.
// //
// Generally Get, Post, or PostForm will be used instead of Do. // Generally Get, Post, or PostForm will be used instead of Do.
func (c *Client) Do(req *Request) (resp *Response, err os.Error) { func (c *Client) Do(req *Request) (resp *Response, err os.Error) {

View File

@ -41,6 +41,10 @@ type Response struct {
Header Header Header Header
// Body represents the response body. // Body represents the response body.
//
// The http Client and Transport guarantee that Body is always
// non-nil, even on responses without a body or responses with
// a zero-lengthed body.
Body io.ReadCloser Body io.ReadCloser
// ContentLength records the length of the associated content. The // ContentLength records the length of the associated content. The