Skip to content

Commit 56be2f7

Browse files
authored
Update http4s-blaze-client, http4s-circe to 0.23.7
1 parent 767f83a commit 56be2f7

File tree

4 files changed

+16
-17
lines changed

4 files changed

+16
-17
lines changed

build.sbt

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
ThisBuild / organization := "org.scala-exercises"
22
ThisBuild / githubOrganization := "47degrees"
3-
ThisBuild / scalaVersion := "2.13.3"
4-
ThisBuild / crossScalaVersions := Seq("2.13.3", "2.12.15")
3+
ThisBuild / scalaVersion := "2.13.8"
4+
ThisBuild / crossScalaVersions := Seq("2.13.8", "2.12.15")
55

66
publish / skip := true
77

@@ -13,7 +13,7 @@ lazy val V = new {
1313
val cats: String = "2.7.0"
1414
val circe: String = "0.14.1"
1515
val classutil: String = "1.5.1"
16-
val http4s: String = "0.21.31"
16+
val http4s: String = "0.23.7"
1717
val scalatest: String = "3.2.10"
1818
}
1919

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

+5-7
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,17 @@
1616

1717
package org.scalaexercises.evaluator
1818

19-
import cats.effect.{ConcurrentEffect, Resource}
19+
import cats.effect.{Async, Resource}
2020
import org.http4s.client.Client
21-
import org.http4s.client.blaze.BlazeClientBuilder
21+
import org.http4s.blaze.client.BlazeClientBuilder
2222
import org.scalaexercises.evaluator.service.{HttpClientHandler, HttpClientService}
2323

24-
import scala.concurrent.ExecutionContext
25-
2624
object EvaluatorClient {
2725

28-
private def clientResource[F[_]: ConcurrentEffect]: Resource[F, Client[F]] =
29-
BlazeClientBuilder[F](ExecutionContext.global).resource
26+
private def clientResource[F[_]: Async]: Resource[F, Client[F]] =
27+
BlazeClientBuilder[F].resource
3028

31-
def apply[F[_]: ConcurrentEffect](url: String, authKey: String): HttpClientService[F] =
29+
def apply[F[_]: Async](url: String, authKey: String): HttpClientService[F] =
3230
HttpClientHandler[F](url, authKey, clientResource[F])
3331

3432
}

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

+5-4
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,21 @@
1616

1717
package org.scalaexercises.evaluator.service
1818

19-
import cats.effect.{Resource, Sync}
19+
import cats.effect.{Async, Resource, Sync}
2020
import cats.implicits._
2121
import org.http4s.client.Client
2222
import org.http4s.{Header, Method, Request, Uri}
2323
import org.scalaexercises.evaluator.types._
2424
import org.scalaexercises.evaluator.util.Codecs._
25+
import org.typelevel.ci._
2526

2627
object HttpClientHandler {
2728

28-
private def headerToken(value: String) = Header("x-scala-eval-api-token", value)
29+
private def headerToken(value: String) = Header.Raw(ci"x-scala-eval-api-token", value)
2930

30-
private val headerContentType = Header("content-type", "application/json")
31+
private val headerContentType = Header.Raw(ci"content-type", "application/json")
3132

32-
def apply[F[_]](uri: String, authString: String, resource: Resource[F, Client[F]])(implicit
33+
def apply[F[_]: Async](uri: String, authString: String, resource: Resource[F, Client[F]])(implicit
3334
F: Sync[F]
3435
): HttpClientService[F] =
3536
new HttpClientService[F] {

evaluator-client/src/main/scala/org/scalaexercises/evaluator/util/Codecs.scala

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package org.scalaexercises.evaluator.util
1818

19-
import cats.effect.Sync
19+
import cats.effect.Concurrent
2020
import io.circe.generic.semiauto
2121
import io.circe.generic.semiauto.deriveDecoder
2222
import io.circe.syntax.EncoderOps
@@ -52,8 +52,8 @@ object Codecs {
5252

5353
implicit val encodeExclusion: Encoder[Exclusion] = semiauto.deriveEncoder[Exclusion]
5454

55-
implicit def decoder[F[_]: Sync, A: Decoder]: EntityDecoder[F, A] = jsonOf[F, A]
55+
implicit def decoder[F[_]: Concurrent, A: Decoder]: EntityDecoder[F, A] = jsonOf[F, A]
5656

57-
implicit def encoder[F[_]: Sync, A: Encoder]: EntityEncoder[F, A] = jsonEncoderOf[F, A]
57+
implicit def encoder[F[_], A: Encoder]: EntityEncoder[F, A] = jsonEncoderOf[F, A]
5858

5959
}

0 commit comments

Comments
 (0)