in app/logic/SnapshotApi.scala [24:38]
def getRawSnapshotInfo(bucket: String, snapshotId: SnapshotId) = getObjectContentRaw(snapshotId.infoKey, bucket)
def getSnapshotInfo(bucket: String, snapshotId: SnapshotId): Attempt[Option[JsValue]] =
getObjectContentJson(snapshotId.infoKey, bucket)
private def getObject(key: String, bucketName: String): Attempt[Option[ResponseInputStream[GetObjectResponse]]] = {
try {
Attempt.Right(Some(s3Client.getObject(GetObjectRequest.builder().bucket(bucketName).key(key).build())))
} catch {
case _:NoSuchKeyException => Attempt.Right(None)
case NonFatal(e) =>
logger.warn(s"Unexpected error whilst getting object $bucketName:$key", e)
Attempt.Left(AttemptError(s"Couldn't retrieve object: ${e.getMessage}"))
}
}