in imageCopier/src/main/scala/com/gu/imageCopier/attempt/Attempt.scala [39:54]
def recoverWith(
pf: PartialFunction[Failure, Attempt[A]]
)(implicit ec: ExecutionContext) = Attempt {
asFuture.flatMap {
case Right(a) =>
Attempt.Right(a).asFuture
case Left(err) =>
val ret = pf.lift(err) match {
case Some(attempt) => attempt
case None => Attempt.Left[A](err)
}
ret.asFuture
}
}