| 123456789101112131415161718192021222324252627282930313233 |
- // +build go1.8
- package request
- import (
- "net/http"
- )
- // NoBody is a http.NoBody reader instructing Go HTTP client to not include
- // and body in the HTTP request.
- var NoBody = http.NoBody
- // ResetBody rewinds the request body back to its starting position, and
- // sets the HTTP Request body reference. When the body is read prior
- // to being sent in the HTTP request it will need to be rewound.
- //
- // ResetBody will automatically be called by the SDK's build handler, but if
- // the request is being used directly ResetBody must be called before the request
- // is Sent. SetStringBody, SetBufferBody, and SetReaderBody will automatically
- // call ResetBody.
- //
- // Will also set the Go 1.8's http.Request.GetBody member to allow retrying
- // PUT/POST redirects.
- func (r *Request) ResetBody() {
- body, err := r.getNextRequestBody()
- if err != nil {
- r.Error = err
- return
- }
- r.HTTPRequest.Body = body
- r.HTTPRequest.GetBody = r.getNextRequestBody
- }
|