aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go
blob: a4087f20e8ec47cbb045a5267581e49411433051 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// +build go1.5

package request

import (
	"io"
	"net/http"
	"net/url"
)

func copyHTTPRequest(r *http.Request, body io.ReadCloser) *http.Request {
	req := &http.Request{
		URL:           &url.URL{},
		Header:        http.Header{},
		Close:         r.Close,
		Body:          body,
		Host:          r.Host,
		Method:        r.Method,
		Proto:         r.Proto,
		ContentLength: r.ContentLength,
		// Cancel will be deprecated in 1.7 and will be replaced with Context
		Cancel: r.Cancel,
	}

	*req.URL = *r.URL
	for k, v := range r.Header {
		for _, vv := range v {
			req.Header.Add(k, vv)
		}
	}

	return req
}