Skip to content

Commit f5ddafa

Browse files
Replaces circe-jawn by circe-jackson Parser (#253)
* Makes circe-parser only needed in test stage * Replaces parser by decoder * Replaces circe-jawn parser by circe-jackson parser
1 parent 9a23562 commit f5ddafa

3 files changed

Lines changed: 25 additions & 18 deletions

File tree

github4s/js/src/main/scala/github4s/HttpRequestBuilderExtensionJS.scala

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ import fr.hmil.roshttp.response.SimpleHttpResponse
2525
import fr.hmil.roshttp.util.HeaderMap
2626
import github4s.GithubResponses._
2727
import github4s.HttpClient.{HttpCode200, HttpCode299}
28-
import io.circe.Decoder
29-
import io.circe.parser._
28+
import io.circe._
29+
import io.circe.jackson._
30+
import io.circe.syntax._
3031

3132
import scala.concurrent.Future
3233

@@ -81,7 +82,7 @@ trait HttpRequestBuilderExtensionJS {
8182

8283
def toEntity[A](
8384
response: SimpleHttpResponse,
84-
mapResponse: (SimpleHttpResponse) => GHResponse[A]): GHResponse[A] =
85+
mapResponse: SimpleHttpResponse => GHResponse[A]): GHResponse[A] =
8586
response match {
8687
case r if r.statusCode <= HttpCode299.statusCode && r.statusCode >= HttpCode200.statusCode
8788
mapResponse(r)
@@ -97,10 +98,12 @@ trait HttpRequestBuilderExtensionJS {
9798
Either.right(GHResult((): Unit, r.statusCode, rosHeaderMapToRegularMap(r.headers)))
9899

99100
def decodeEntity[A](r: SimpleHttpResponse)(implicit D: Decoder[A]): GHResponse[A] =
100-
decode[A](r.body).bimap(
101-
e JsonParsingException(e.getMessage, r.body),
102-
result GHResult(result, r.statusCode, rosHeaderMapToRegularMap(r.headers))
103-
)
101+
parse(r.body)
102+
.flatMap(_.as[A])
103+
.bimap(
104+
e JsonParsingException(e.getMessage, r.body),
105+
result GHResult(result, r.statusCode, rosHeaderMapToRegularMap(r.headers))
106+
)
104107
private def rosHeaderMapToRegularMap(
105108
headers: HeaderMap[String]): Map[String, IndexedSeq[String]] =
106109
headers.flatMap(m => Map(m._1.toLowerCase -> IndexedSeq(m._2)))

github4s/jvm/src/main/scala/github4s/HttpRequestBuilderExtensionJVM.scala

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
package github4s
1818

1919
import github4s.GithubResponses._
20-
import io.circe.Decoder
21-
import io.circe.parser._
20+
import io.circe._
21+
import io.circe.syntax._
22+
import io.circe.jackson._
2223
import scalaj.http._
2324
import cats.implicits._
2425
import github4s.free.interpreters.Capture
@@ -89,10 +90,12 @@ trait HttpRequestBuilderExtensionJVM {
8990
Either.right(GHResult((): Unit, r.code, toLowerCase(r.headers)))
9091

9192
def decodeEntity[A](r: HttpResponse[String])(implicit D: Decoder[A]): GHResponse[A] =
92-
decode[A](r.body).bimap(
93-
e JsonParsingException(e.getMessage, r.body),
94-
result GHResult(result, r.code, toLowerCase(r.headers))
95-
)
93+
parse(r.body)
94+
.flatMap(_.as[A])
95+
.bimap(
96+
e JsonParsingException(e.getMessage, r.body),
97+
result GHResult(result, r.code, toLowerCase(r.headers))
98+
)
9699

97100
private def toLowerCase(
98101
headers: Map[String, IndexedSeq[String]]): Map[String, IndexedSeq[String]] =

project/ProjectPlugin.scala

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,11 @@ object ProjectPlugin extends AutoPlugin {
6969
%%("simulacrum", V.simulacrum),
7070
%%("circe-core", V.circe),
7171
%%("circe-generic", V.circe),
72-
%%("circe-parser", V.circe),
72+
"io.circe" %% "circe-jackson28" % V.circe,
7373
%%("base64", V.base64),
74-
%%("scalamockScalatest", V.scalamockScalatest) % "test",
75-
%%("scalatest", V.scalaTest) % "test"
74+
%%("circe-parser", V.circe) % Test,
75+
%%("scalamockScalatest", V.scalamockScalatest) % Test,
76+
%%("scalatest", V.scalaTest) % Test
7677
)
7778
)
7879

@@ -83,7 +84,7 @@ object ProjectPlugin extends AutoPlugin {
8384
lazy val jvmDeps = Seq(
8485
libraryDependencies ++= Seq(
8586
%%("scalaj", V.scalaj),
86-
"org.mock-server" % "mockserver-netty" % "3.10.4" % "test" excludeAll ExclusionRule(
87+
"org.mock-server" % "mockserver-netty" % "3.10.4" % Test excludeAll ExclusionRule(
8788
"com.twitter")
8889
)
8990
)
@@ -100,7 +101,7 @@ object ProjectPlugin extends AutoPlugin {
100101
lazy val catsEffectDependencies = Seq(
101102
libraryDependencies ++= Seq(
102103
%%("cats-effect", V.catsEffect),
103-
%%("scalatest", V.scalaTest) % "test"
104+
%%("scalatest", V.scalaTest) % Test
104105
)
105106
)
106107

0 commit comments

Comments
 (0)