From 358b611f66397304961953087048a6e3d81a4c4d Mon Sep 17 00:00:00 2001 From: MalinAhlberg Date: Wed, 26 Feb 2025 13:06:34 +0100 Subject: [PATCH] feat: get status code from s3's seralization error message A unmarshalling error is returned from s3, get the status code and report that to the user. --- helpers/helpers.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/helpers/helpers.go b/helpers/helpers.go index 8667818..8936063 100644 --- a/helpers/helpers.go +++ b/helpers/helpers.go @@ -454,7 +454,16 @@ func ListFiles(config Config, prefix string) (result *s3.ListObjectsV2Output, er Bucket: aws.String(config.AccessKey + "/"), Prefix: aws.String(config.AccessKey + "/" + prefix), }) + if err != nil { + if strings.HasPrefix(err.Error(), "SerializationError") { + re := regexp.MustCompile(`(status code: \d*)`) + errorCode := re.FindString(err.Error()) + if errorCode != "" { + err = fmt.Errorf("Problem connecting to s3: %s", errorCode) + } + } + return nil, fmt.Errorf("failed to list objects, reason: %v", err) }