diff options
author | Jakob Odersky <jakob@driver.xyz> | 2017-07-12 22:26:07 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@driver.xyz> | 2017-07-12 22:30:35 -0700 |
commit | 3e700be0b7df8022627b1f46890f3e3dad3fa54b (patch) | |
tree | 0066df95d2a2f033faf9e3e0f9eca92c9c1aad31 /src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala | |
parent | f9ac0adf5c3bcfcde03bd3ea2bc2471b0d0f99fe (diff) | |
download | rest-query-3e700be0b7df8022627b1f46890f3e3dad3fa54b.tar.gz rest-query-3e700be0b7df8022627b1f46890f3e3dad3fa54b.tar.bz2 rest-query-3e700be0b7df8022627b1f46890f3e3dad3fa54b.zip |
Handle errors by failing futures in REST services
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala b/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala index 4bf90d1..fc8e474 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala @@ -28,3 +28,11 @@ object DomainError { Unsafe(Utils.getClassSimpleName(x.getClass)) } } + +/** Subclasses of this exception correspond to subclasses of DomainError. They + * are used in REST service implementations to fail futures rather than + * returning successful futures, completed with corresponding DomainErrors. */ +class DomainException(message: String) extends RuntimeException(message) +class NotFoundException(message: String) extends DomainException(message) // 404 +class AuthenticationException(message: String) extends DomainException(message) // 401 +class AuthorizationException(message: String) extends DomainException(message) // 403 |