def getS3Object()

in hq/app/aws/s3/S3.scala [15:31]


  def getS3Object(s3Client: S3Client, bucket: String, key: String): Attempt[BufferedSource] = {
    val request = GetObjectRequest.builder().bucket(bucket).key(key).build()
    try {
      Attempt.Right {
        scala.io.Source
          .fromInputStream(s3Client.getObject(request))
      }
    } catch {
      case NonFatal(e) =>
        Attempt.Left(FailedAttempt(Failure(
          s"Unable to get S3 object for bucket $bucket and key $key",
          "Failed to fetch an S3 object",
          500,
          throwable = Some(e)
        )))
    }
  }