Skip to content

Commit 93f9118

Browse files
committed
Solved problem with the Uri
1 parent 2a77441 commit 93f9118

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import org.scalaexercises.evaluator.service.{HttpClientHandler, HttpClientServic
1414

1515
import scala.concurrent.ExecutionContext
1616

17-
case class EvaluatorClient(url: String, authKey: String)
18-
1917
object EvaluatorClient {
2018

2119
private def clientResource[F[_]: ConcurrentEffect]: Resource[F, Client[F]] =

client/src/main/scala/org/scalaexercises/evaluator/service/HttpClientHandler.scala

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,17 @@ object HttpClientHandler {
1919

2020
private val headerContentType = Header("content-type", "application/json")
2121

22-
def apply[F[_]: Sync](
23-
uri: String,
24-
authString: String,
25-
resource: Resource[F, Client[F]]): HttpClientService[F] =
22+
def apply[F[_]](uri: String, authString: String, resource: Resource[F, Client[F]])(
23+
implicit F: Sync[F]): HttpClientService[F] =
2624
new HttpClientService[F] {
2725
override def evaluates(evalRequest: EvalRequest): F[EvalResponse] =
28-
resource.use(
29-
_.expect[EvalResponse](
30-
Request[F](Method.POST, Uri(path = uri))
31-
.withEntity(evalRequest)
32-
.withHeaders(headerToken(authString), headerContentType)
33-
)
34-
)
26+
for {
27+
uri <- F.fromEither(Uri.fromString(uri))
28+
request = Request[F](Method.POST, uri)
29+
.withEntity(evalRequest)
30+
.withHeaders(headerToken(authString), headerContentType)
31+
result <- resource.use(_.expect[EvalResponse](request))
32+
} yield result
3533
}
3634

3735
}

0 commit comments

Comments
 (0)