diff options
author | zachdriver <zach@driver.xyz> | 2018-05-25 12:44:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-25 12:44:15 -0700 |
commit | d61ed25db4d71ac182f09ce7bc02439470f3a998 (patch) | |
tree | bdc0089e60ac7cf84e850e2024acd5ddbcdbaaa0 /src/main/scala/xyz/driver/core/rest/DriverRoute.scala | |
parent | 57cd7aaf5a2154af698fddc39f4bff8fd3e4f6e7 (diff) | |
download | driver-core-d61ed25db4d71ac182f09ce7bc02439470f3a998.tar.gz driver-core-d61ed25db4d71ac182f09ce7bc02439470f3a998.tar.bz2 driver-core-d61ed25db4d71ac182f09ce7bc02439470f3a998.zip |
Add service exception json formatters and pass through exceptions in HttpRestServiceTransport (#168)v1.9.4
Diffstat (limited to 'src/main/scala/xyz/driver/core/rest/DriverRoute.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/rest/DriverRoute.scala | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/DriverRoute.scala b/src/main/scala/xyz/driver/core/rest/DriverRoute.scala index c23c44d..fe3790f 100644 --- a/src/main/scala/xyz/driver/core/rest/DriverRoute.scala +++ b/src/main/scala/xyz/driver/core/rest/DriverRoute.scala @@ -90,11 +90,17 @@ trait DriverRoute { } { (ctx: RequestContext) => - errorResponse(statusCode, serviceException.message, serviceException)(ctx) + import xyz.driver.core.json.serviceExceptionFormat + val entity = + HttpEntity(ContentTypes.`application/json`, serviceExceptionFormat.write(serviceException).toString()) + errorResponse(statusCode, entity, serviceException)(ctx) } } - protected def errorResponse[T <: Exception](statusCode: StatusCode, message: String, exception: T): Route = { - complete(HttpResponse(statusCode, entity = message)) + protected def errorResponse[T <: Exception](statusCode: StatusCode, message: String, exception: T): Route = + errorResponse(statusCode, HttpEntity(message), exception) + + protected def errorResponse[T <: Exception](statusCode: StatusCode, entity: ResponseEntity, exception: T): Route = { + complete(HttpResponse(statusCode, entity = entity)) } } |