@@ -40,6 +40,7 @@ type AWSSigningTransport struct {
4040 creds aws.CredentialsProvider
4141 region string
4242 log log.Logger
43+ signer * v4.Signer
4344}
4445
4546func 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
6768 region : region ,
6869 creds : creds ,
6970 log : log ,
71+ signer : v4 .NewSigner (),
7072 }, err
7173}
7274
7375func (a * AWSSigningTransport ) RoundTrip (req * http.Request ) (* http.Response , error ) {
74- signer := v4 .NewSigner ()
7576 payloadHash , newReader , err := hashPayload (req .Body )
7677 if err != nil {
7778 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
8586 return nil , err
8687 }
8788
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 ())
8990 if err != nil {
9091 level .Error (a .log ).Log ("msg" , "failed to sign request body" , "err" , err )
9192 return nil , err
0 commit comments