From edd21ace3c6d7fd4920ae05140ba341c8cf9c81e Mon Sep 17 00:00:00 2001 From: Alexander Fefelov Date: Wed, 20 Mar 2019 10:22:40 +0300 Subject: [PATCH] Fix error handling --- .../kkmserver/api/KkmServerApi.scala | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/scala/com/github/alexanderfefelov/kkmserver/api/KkmServerApi.scala b/src/main/scala/com/github/alexanderfefelov/kkmserver/api/KkmServerApi.scala index 7e47c03..532f207 100644 --- a/src/main/scala/com/github/alexanderfefelov/kkmserver/api/KkmServerApi.scala +++ b/src/main/scala/com/github/alexanderfefelov/kkmserver/api/KkmServerApi.scala @@ -147,8 +147,18 @@ class KkmServerApi extends Instrumented { logger.debug(s"request: $requestJson") val responseFuture = wsCall(requestJson) for { - response <- responseFuture + response <- responseFuture recoverWith { + case e: Exception => + val message = s"${e.getClass.getName}: ${e.getMessage}" + logger.error(s"error: $message") + throw KkmServerApiException(message) + } } yield { + if (response.statusCode != 200) { + val message = s"KkmServer response: ${response.statusCode} ${response.statusMessage}" + logger.error(s"error: $message") + throw KkmServerApiException(message) + } val responseText = response.text(Charset.forName("UTF-8")) logger.debug(s"response: $responseText") try {