Skip to content

Commit 9d0ba27

Browse files
committed
Fixes PR comments
1 parent 8e1480e commit 9d0ba27

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

main.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,11 @@ func main() {
165165
}
166166

167167
if *awsRegion != "" {
168-
httpClient.Transport = roundtripper.NewAWSSigningTransport(httpTransport, awsRegion, logger)
168+
httpClient.Transport, err = roundtripper.NewAWSSigningTransport(httpTransport, *awsRegion, logger)
169+
if err != nil {
170+
_ = level.Error(logger).Log("msg", "failed to create AWS transport", "err", err)
171+
os.Exit(1)
172+
}
169173
}
170174

171175
// version metric

pkg/roundtripper/roundtripper.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"io"
2222
"io/ioutil"
2323
"net/http"
24-
"os"
2524
"time"
2625

2726
"github.com/aws/aws-sdk-go-v2/aws"
@@ -38,29 +37,29 @@ const (
3837
type AWSSigningTransport struct {
3938
t http.RoundTripper
4039
creds aws.Credentials
41-
region *string
40+
region string
4241
log log.Logger
4342
}
4443

45-
func NewAWSSigningTransport(transport http.RoundTripper, region *string, log log.Logger) *AWSSigningTransport {
46-
cfg, err := config.LoadDefaultConfig(context.Background(), config.WithRegion(*region))
44+
func NewAWSSigningTransport(transport http.RoundTripper, region string, log log.Logger) (*AWSSigningTransport, error) {
45+
cfg, err := config.LoadDefaultConfig(context.Background(), config.WithRegion(region))
4746
if err != nil {
4847
_ = level.Error(log).Log("msg", "fail to load aws default config", "err", err)
49-
os.Exit(1)
48+
return nil, err
5049
}
5150

5251
creds, err := cfg.Credentials.Retrieve(context.Background())
5352
if err != nil {
5453
_ = level.Error(log).Log("msg", "fail to retrive aws credentials", "err", err)
55-
os.Exit(1)
54+
return nil, err
5655
}
5756

5857
return &AWSSigningTransport{
5958
t: transport,
6059
region: region,
6160
creds: creds,
6261
log: log,
63-
}
62+
}, err
6463
}
6564

6665
func (a *AWSSigningTransport) RoundTrip(req *http.Request) (*http.Response, error) {
@@ -71,7 +70,7 @@ func (a *AWSSigningTransport) RoundTrip(req *http.Request) (*http.Response, erro
7170
return nil, err
7271
}
7372
req.Body = newReader
74-
err = signer.SignHTTP(context.Background(), a.creds, req, payloadHash, service, *a.region, time.Now())
73+
err = signer.SignHTTP(context.Background(), a.creds, req, payloadHash, service, a.region, time.Now())
7574
if err != nil {
7675
_ = level.Error(a.log).Log("msg", "fail to sign request body", "err", err)
7776
return nil, err
@@ -84,6 +83,7 @@ func hashPayload(r io.ReadCloser) (payloadHash string, newReader io.ReadCloser,
8483
if r == nil {
8584
payload = []byte("")
8685
} else {
86+
defer r.Close()
8787
payload, err = ioutil.ReadAll(r)
8888
if err != nil {
8989
return

0 commit comments

Comments
 (0)