From: Brad Fitzpatrick Date: Wed, 26 Oct 2016 22:34:40 +0000 (+0000) Subject: net/http/httptest: add more docs on ResponseRecord fields X-Git-Tag: go1.8beta1~585 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8e4ea2f5e8ee2b9c455adb329d96fb13cd3c64da;p=gostls13.git net/http/httptest: add more docs on ResponseRecord fields Fixes #16717 Change-Id: I7b6518609796a537437539c35461a18e9e6f207f Reviewed-on: https://go-review.googlesource.com/32190 Reviewed-by: Martin Möhrmann --- diff --git a/src/net/http/httptest/recorder.go b/src/net/http/httptest/recorder.go index bc99797b33..dd27c4dc63 100644 --- a/src/net/http/httptest/recorder.go +++ b/src/net/http/httptest/recorder.go @@ -15,10 +15,26 @@ import ( // ResponseRecorder is an implementation of http.ResponseWriter that // records its mutations for later inspection in tests. type ResponseRecorder struct { - Code int // the HTTP response code from WriteHeader - HeaderMap http.Header // the HTTP response headers - Body *bytes.Buffer // if non-nil, the bytes.Buffer to append written data to - Flushed bool + // Code is the HTTP response code set by WriteHeader. + // + // Note that if a Handler never calls WriteHeader or Write, + // this might end up being 0, rather than the implicit + // http.StatusOK. To get the implicit value, use the Result + // method. + Code int + + // HeaderMap contains the headers explicitly set by the Handler. + // + // To get the implicit headers set by the server (such as + // automatic Content-Type), use the Result method. + HeaderMap http.Header + + // Body is the buffer that a Handler's Write calls are sent to. + // If nil, the Writes are silently discard. + Body *bytes.Buffer + + // Flushed is whether the Handler called Flush. + Flushed bool result *http.Response // cache of Result's return value snapHeader http.Header // snapshot of HeaderMap at first Write