From 46f6098acaca35b9970c39363a0e1130d767754c Mon Sep 17 00:00:00 2001 From: Ben Fradet Date: Wed, 3 May 2017 09:42:51 +0100 Subject: [PATCH] Made request success check consistent between scala and scala js (#112) --- .../scala/github4s/HttpRequestBuilderExtensionJS.scala | 4 ++-- github4s/shared/src/main/scala/github4s/HttpClient.scala | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/github4s/js/src/main/scala/github4s/HttpRequestBuilderExtensionJS.scala b/github4s/js/src/main/scala/github4s/HttpRequestBuilderExtensionJS.scala index da823ed8f..989bf5b3f 100644 --- a/github4s/js/src/main/scala/github4s/HttpRequestBuilderExtensionJS.scala +++ b/github4s/js/src/main/scala/github4s/HttpRequestBuilderExtensionJS.scala @@ -24,7 +24,7 @@ import fr.hmil.roshttp.body.BulkBodyPart import fr.hmil.roshttp.response.SimpleHttpResponse import fr.hmil.roshttp.util.HeaderMap import github4s.GithubResponses._ -import github4s.HttpClient.HttpCode400 +import github4s.HttpClient.{HttpCode200, HttpCode299} import io.circe.Decoder import io.circe.parser._ @@ -69,7 +69,7 @@ trait HttpRequestBuilderExtensionJS { def toEntity[A](response: SimpleHttpResponse)(implicit D: Decoder[A]): GHResponse[A] = response match { - case r if r.statusCode < HttpCode400.statusCode ⇒ + case r if r.statusCode <= HttpCode299.statusCode && r.statusCode >= HttpCode200.statusCode ⇒ decode[A](r.body).fold( e ⇒ Either.left(JsonParsingException(e.getMessage, r.body)), result ⇒ diff --git a/github4s/shared/src/main/scala/github4s/HttpClient.scala b/github4s/shared/src/main/scala/github4s/HttpClient.scala index d34c9c231..fb43159be 100644 --- a/github4s/shared/src/main/scala/github4s/HttpClient.scala +++ b/github4s/shared/src/main/scala/github4s/HttpClient.scala @@ -52,8 +52,12 @@ object HttpClient { def statusCode: Int } - case object HttpCode400 extends HttpStatus { - def statusCode = 400 + case object HttpCode200 extends HttpStatus { + def statusCode = 200 + } + + case object HttpCode299 extends HttpStatus { + def statusCode = 299 } }