From 5b27ef369a93386b0951e0ba8c1bb08308cfc3cc Mon Sep 17 00:00:00 2001 From: ayushhooda Date: Sun, 26 May 2019 18:07:20 +0530 Subject: [PATCH] Optimize match case using single abstract method --- .../main/scala/org/http4s/internal/package.scala | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/core/src/main/scala/org/http4s/internal/package.scala b/core/src/main/scala/org/http4s/internal/package.scala index 4d8418d08b2..c637352023f 100644 --- a/core/src/main/scala/org/http4s/internal/package.scala +++ b/core/src/main/scala/org/http4s/internal/package.scala @@ -1,7 +1,6 @@ package org.http4s import java.util.concurrent.{CancellationException, CompletableFuture, CompletionException} -import java.util.function.BiFunction import cats.effect.{Async, Concurrent, ConcurrentEffect, Effect, IO} import cats.implicits._ @@ -126,13 +125,11 @@ package object internal { implicit F: Concurrent[F]): F[A] = fcf.flatMap { cf => F.cancelable(cb => { - cf.handle[Unit](new BiFunction[A, Throwable, Unit] { - override def apply(result: A, err: Throwable): Unit = err match { - case null => cb(Right(result)) - case _: CancellationException => () - case ex: CompletionException if ex.getCause ne null => cb(Left(ex.getCause)) - case ex => cb(Left(ex)) - } + cf.handle[Unit]((result: A, err: Throwable) => err match { + case null => cb(Right(result)) + case _: CancellationException => () + case ex: CompletionException if ex.getCause ne null => cb(Left(ex.getCause)) + case ex => cb(Left(ex)) }) F.delay { cf.cancel(true); () } })