1package protocol
2
3import (
4	"io"
5	"io/ioutil"
6
7	"github.com/aws/aws-sdk-go/aws/request"
8)
9
10// UnmarshalDiscardBodyHandler is a named request handler to empty and close a response's body
11var UnmarshalDiscardBodyHandler = request.NamedHandler{Name: "awssdk.shared.UnmarshalDiscardBody", Fn: UnmarshalDiscardBody}
12
13// UnmarshalDiscardBody is a request handler to empty a response's body and closing it.
14func UnmarshalDiscardBody(r *request.Request) {
15	if r.HTTPResponse == nil || r.HTTPResponse.Body == nil {
16		return
17	}
18
19	io.Copy(ioutil.Discard, r.HTTPResponse.Body)
20	r.HTTPResponse.Body.Close()
21}
22
23// ResponseMetadata provides the SDK response metadata attributes.
24type ResponseMetadata struct {
25	StatusCode int
26	RequestID  string
27}
28