better error handling

This commit is contained in:
Eugene Zadyra
2024-01-03 12:54:05 +01:00
parent 133e08a0ff
commit 892c330d79
4 changed files with 4 additions and 11 deletions

View File

@@ -42,10 +42,4 @@ trait ApiBase {
.header(Authorization, session.accessToken)
cookiesMaybe.map(cookies => req.cookies(cookies)).getOrElse(req.cookies(session.cookies))
}
protected def httpNewApi(url: String, cookies: IndexedSeq[HttpCookie]): HttpRequest = {
ApiHttp(s"https://portalpacjenta.luxmed.pl/PatientPortal/$url")
.headers(CommonHeaders)
.cookies(cookies)
}
}

View File

@@ -21,7 +21,6 @@ package object http extends StrictLogging {
val Host = "Host"
val Origin = "Origin"
val Accept = "Accept"
val Connection = "Connection"
val `Accept-Encoding` = "Accept-Encoding"
val `User-Agent` = "User-Agent"
val `Custom-User-Agent` = "Custom-User-Agent"
@@ -80,11 +79,12 @@ package object http extends StrictLogging {
Some(new InvalidLoginOrPasswordException)
case _ if code >= HttpURLConnection.HTTP_BAD_REQUEST =>
Try(body.as[LuxmedErrorsList])
.orElse(Try(body.as[LuxmedErrorsMap]))
.orElse(Try(body.as[LuxmedError]))
.map(error => luxmedErrorToApiException(code, error))
.toOption
case _ =>
Try(body.as[LuxmedErrorsMap])
.orElse(Try(body.as[LuxmedError]))
.map(error => luxmedErrorToApiException(code, error))
.toOption
}

View File

@@ -2,7 +2,6 @@ package com.lbs.api.json.model
/**
* {
"ErrorCode": 301,
"Message": "Obecnie zainstalowana wersja aplikacji nie jest wspierana przez nowy system Portalu Pacjenta. Zaktualizuj aplikację do najnowszej wersji, aby móc z niej korzystać.",
"AdditionalData": {
"ShopUrl": "itms-apps://apps.apple.com/pl/app/id552592684",
@@ -11,4 +10,4 @@ package com.lbs.api.json.model
}
}
*/
case class LuxmedError(errorCode: Int, message: String) extends SerializableJsonObject with LuxmedBaseError
case class LuxmedError(message: String) extends SerializableJsonObject with LuxmedBaseError

View File

@@ -17,5 +17,5 @@ package com.lbs.api.json.model
*/
case class LuxmedErrorsList(errors: List[LuxmedError]) extends SerializableJsonObject with LuxmedBaseError {
override def message: String = errors.map(e => s"ErrorCode: ${e.errorCode}. Message: ${e.message}").mkString("; ")
override def message: String = errors.map(e => s"Message: ${e.message}").mkString("; ")
}