diff --git a/src/main/java/io/castle/client/model/CastleResponse.java b/src/main/java/io/castle/client/model/CastleResponse.java index 89f72b7..2d2b379 100644 --- a/src/main/java/io/castle/client/model/CastleResponse.java +++ b/src/main/java/io/castle/client/model/CastleResponse.java @@ -12,11 +12,11 @@ public class CastleResponse { private final JsonElement json; public CastleResponse(Response response) throws IOException { + OkHttpExceptionUtil.handle(response); + code = response.code(); String body = response.body().string(); json = JsonParser.parseString(body); - - OkHttpExceptionUtil.handle(response); } public boolean isSuccessful() { diff --git a/src/test/java/io/castle/client/CastleExceptionTest.java b/src/test/java/io/castle/client/CastleExceptionTest.java index c390d8a..58bab88 100644 --- a/src/test/java/io/castle/client/CastleExceptionTest.java +++ b/src/test/java/io/castle/client/CastleExceptionTest.java @@ -61,6 +61,20 @@ public void invalidRequestTokenError() { OkHttpExceptionUtil.handle(response); } + @Test(expected = CastleApiInvalidRequestTokenException.class) + public void invalidRequestTokenCasleResponseResponseError() throws IOException { + //Given + Response response = new Response.Builder() + .code(422) + .request(new Request.Builder().url("http://localhost").build()) + .protocol(Protocol.HTTP_1_1) + .message("Message") + .body(ResponseBody.create("{\"type\": \"invalid_request_token\"}", JsonMediaType)) + .build(); + + new CastleResponse(response); + } + @Test(expected = CastleApiInvalidParametersException.class) public void invalidParametersError() { //Given