@@ -40,6 +40,7 @@ type AWSSigningTransport struct {
40
40
creds aws.CredentialsProvider
41
41
region string
42
42
log log.Logger
43
+ signer * v4.Signer
43
44
}
44
45
45
46
func NewAWSSigningTransport (transport http.RoundTripper , region string , roleArn string , log log.Logger ) (* AWSSigningTransport , error ) {
@@ -67,11 +68,11 @@ func NewAWSSigningTransport(transport http.RoundTripper, region string, roleArn
67
68
region : region ,
68
69
creds : creds ,
69
70
log : log ,
71
+ signer : v4 .NewSigner (),
70
72
}, err
71
73
}
72
74
73
75
func (a * AWSSigningTransport ) RoundTrip (req * http.Request ) (* http.Response , error ) {
74
- signer := v4 .NewSigner ()
75
76
payloadHash , newReader , err := hashPayload (req .Body )
76
77
if err != nil {
77
78
level .Error (a .log ).Log ("msg" , "failed to hash request body" , "err" , err )
@@ -85,7 +86,7 @@ func (a *AWSSigningTransport) RoundTrip(req *http.Request) (*http.Response, erro
85
86
return nil , err
86
87
}
87
88
88
- err = signer .SignHTTP (context .Background (), creds , req , payloadHash , service , a .region , time .Now ())
89
+ err = a . signer .SignHTTP (context .Background (), creds , req , payloadHash , service , a .region , time .Now ())
89
90
if err != nil {
90
91
level .Error (a .log ).Log ("msg" , "failed to sign request body" , "err" , err )
91
92
return nil , err
0 commit comments