Skip to content

Commit 3b6bae1

Browse files
authored
Merge pull request #65 from scala-exercises/enrique-update-client
New Client for Evaluator
2 parents c35bd6f + b4c136c commit 3b6bae1

File tree

13 files changed

+110
-338
lines changed

13 files changed

+110
-338
lines changed

client/src/main/scala/org/scalaexercises/evaluator/Decoders.scala

Lines changed: 0 additions & 23 deletions
This file was deleted.

client/src/main/scala/org/scalaexercises/evaluator/EvaluatorAPI.scala

Lines changed: 0 additions & 21 deletions
This file was deleted.

client/src/main/scala/org/scalaexercises/evaluator/EvaluatorClient.scala

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,19 @@
77

88
package org.scalaexercises.evaluator
99

10-
import cats.data.EitherT
11-
import cats.~>
12-
import cats.implicits._
13-
import org.scalaexercises.evaluator.EvaluatorResponses.{
14-
EvalIO,
15-
EvaluationException,
16-
EvaluationResponse,
17-
EvaluationResult
18-
}
19-
import org.scalaexercises.evaluator.free.algebra.EvaluatorOp
20-
21-
import scala.concurrent.Future
22-
import scala.concurrent.ExecutionContext.Implicits.global
10+
import cats.effect.{ConcurrentEffect, Resource}
11+
import org.http4s.client.Client
12+
import org.http4s.client.blaze.BlazeClientBuilder
13+
import org.scalaexercises.evaluator.service.{HttpClientHandler, HttpClientService}
2314

24-
class EvaluatorClient(url: String, authKey: String) {
25-
26-
lazy val api: EvaluatorAPI[EvaluatorOp] = new EvaluatorAPI(url, authKey)
27-
28-
}
15+
import scala.concurrent.ExecutionContext
2916

3017
object EvaluatorClient {
3118

32-
def apply(url: String, authKey: String) =
33-
new EvaluatorClient(url, authKey)
34-
35-
implicit class EvaluationIOSyntaxEither[A](evalIO: EvalIO[EvaluationResponse[A]]) {
36-
37-
def exec(implicit I: (EvaluatorOp ~> Future)): Future[EvaluationResponse[A]] =
38-
evalIO foldMap I
19+
private def clientResource[F[_]: ConcurrentEffect]: Resource[F, Client[F]] =
20+
BlazeClientBuilder[F](ExecutionContext.global).resource
3921

40-
def liftEvaluator: EitherT[EvalIO, EvaluationException, EvaluationResult[A]] =
41-
EitherT[EvalIO, EvaluationException, EvaluationResult[A]](evalIO)
22+
def apply[F[_]: ConcurrentEffect](url: String, authKey: String): HttpClientService[F] =
23+
HttpClientHandler[F](url, authKey, clientResource[F])
4224

43-
}
4425
}

client/src/main/scala/org/scalaexercises/evaluator/EvaluatorResponses.scala

Lines changed: 0 additions & 62 deletions
This file was deleted.

client/src/main/scala/org/scalaexercises/evaluator/api/Evaluator.scala

Lines changed: 0 additions & 35 deletions
This file was deleted.

client/src/main/scala/org/scalaexercises/evaluator/free/algebra/EvaluatorOps.scala

Lines changed: 0 additions & 41 deletions
This file was deleted.

client/src/main/scala/org/scalaexercises/evaluator/free/interpreters/Interpreter.scala

Lines changed: 0 additions & 32 deletions
This file was deleted.

client/src/main/scala/org/scalaexercises/evaluator/http/HttpClient.scala

Lines changed: 0 additions & 38 deletions
This file was deleted.

client/src/main/scala/org/scalaexercises/evaluator/http/HttpRequestBuilder.scala

Lines changed: 0 additions & 46 deletions
This file was deleted.

client/src/main/scala/org/scalaexercises/evaluator/implicits.scala

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)