Skip to content

Commit 6cd210f

Browse files
committed
google/internal/externalaccount: use request.clone()
1 parent 79e9b85 commit 6cd210f

File tree

1 file changed

+1
-23
lines changed
  • google/internal/externalaccount

1 file changed

+1
-23
lines changed

google/internal/externalaccount/aws.go

+1-23
Original file line numberDiff line numberDiff line change
@@ -89,28 +89,6 @@ func getHmacSha256(key, input []byte) ([]byte, error) {
8989
return hash.Sum(nil), nil
9090
}
9191

92-
func cloneRequest(r *http.Request) *http.Request {
93-
r2 := new(http.Request)
94-
*r2 = *r
95-
if r.Header != nil {
96-
r2.Header = make(http.Header, len(r.Header))
97-
98-
// Find total number of values.
99-
headerCount := 0
100-
for _, headerValues := range r.Header {
101-
headerCount += len(headerValues)
102-
}
103-
copiedHeaders := make([]string, headerCount) // shared backing array for headers' values
104-
105-
for headerKey, headerValues := range r.Header {
106-
headerCount = copy(copiedHeaders, headerValues)
107-
r2.Header[headerKey] = copiedHeaders[:headerCount:headerCount]
108-
copiedHeaders = copiedHeaders[headerCount:]
109-
}
110-
}
111-
return r2
112-
}
113-
11492
func canonicalPath(req *http.Request) string {
11593
result := req.URL.EscapedPath()
11694
if result == "" {
@@ -192,7 +170,7 @@ func canonicalRequest(req *http.Request, canonicalHeaderColumns, canonicalHeader
192170
// SignRequest adds the appropriate headers to an http.Request
193171
// or returns an error if something prevented this.
194172
func (rs *awsRequestSigner) SignRequest(req *http.Request) error {
195-
signedRequest := cloneRequest(req)
173+
signedRequest := req.Clone(req.Context())
196174
timestamp := now()
197175

198176
signedRequest.Header.Add("host", requestHost(req))

0 commit comments

Comments
 (0)