func Put(bucket *s3.Bucket, key string, contents []byte, contentType string, permissions s3.ACL, options s3.Options) error { attempts := 0 for { attempts++ err := bucket.Put(key, contents, contentType, permissions, options) if err == nil { return nil } if attempts >= maxRetries && err != nil { return err } time.Sleep(time.Second * 3) } }