diff options
author | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2018-01-09 16:38:33 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-09 16:38:33 +0700 |
commit | 5bbb0bc66db5b49eb0e3f197be17798fb8093f2a (patch) | |
tree | e193a8a98a00eead3aac04ca52b2ba74473d7de0 /src/main/scala/xyz/driver/pdsuidomain/services | |
parent | d01a88b78638e4638216e0469c11a68a9e57effe (diff) | |
parent | 307488eaa7d725979688b26ffbbc57b938870bb7 (diff) | |
download | rest-query-5bbb0bc66db5b49eb0e3f197be17798fb8093f2a.tar.gz rest-query-5bbb0bc66db5b49eb0e3f197be17798fb8093f2a.tar.bz2 rest-query-5bbb0bc66db5b49eb0e3f197be17798fb8093f2a.zip |
Merge pull request #68 from drivergroup/support-service-exceptionsv0.15.0
Support service exceptions
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala index 527ae73..8ed2651 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestHelper.scala @@ -4,14 +4,8 @@ import scala.concurrent.{ExecutionContext, Future} import akka.http.scaladsl.model.{HttpResponse, ResponseEntity, StatusCodes, Uri} import akka.http.scaladsl.unmarshalling.{Unmarshal, Unmarshaller} import akka.stream.Materializer -import xyz.driver.pdsuicommon.db.{ - Pagination, - SearchFilterBinaryOperation, - SearchFilterExpr, - SearchFilterNAryOperation, - Sorting, - SortingOrder -} +import xyz.driver.core.rest.errors.{InvalidActionException, InvalidInputException, ResourceNotFoundException} +import xyz.driver.pdsuicommon.db.{Pagination, SearchFilterBinaryOperation, SearchFilterExpr, SearchFilterNAryOperation, Sorting, SortingOrder} import xyz.driver.pdsuicommon.error._ trait RestHelper { @@ -93,7 +87,7 @@ trait RestHelper { .to[ErrorsResponse] .transform( response => response.errors.map(_.message).mkString(", "), - ex => new DomainException("Response has invalid format", ex) + ex => InvalidInputException(s"Response has invalid format: ${ex.getMessage}") ) } @@ -102,11 +96,10 @@ trait RestHelper { } else { extractErrorMessage(response).flatMap { message => Future.failed(response.status match { - case StatusCodes.Unauthorized => new AuthenticationException(message) - case StatusCodes.Forbidden => new AuthorizationException(message) - case StatusCodes.NotFound => new NotFoundException(message) + case StatusCodes.Forbidden => InvalidActionException(message) + case StatusCodes.NotFound => ResourceNotFoundException(message) case other => - new DomainException(s"Unhandled domain error for HTTP status ${other.value}. $message") + InvalidInputException(s"Unhandled domain error for HTTP status ${other.value}. $message") }) } } |