diff options
author | Zach Smith <zach@driver.xyz> | 2018-02-08 13:02:07 -0800 |
---|---|---|
committer | Zach Smith <zach@driver.xyz> | 2018-02-20 10:34:22 -0800 |
commit | 04db4e857fceeb15196d8f13d63e987ad214be38 (patch) | |
tree | 93216a3e8e618cc5d6d11d20d4d233029b42f5bd /src/main/scala/xyz/driver/core/rest/DriverRoute.scala | |
parent | 7f2e90c278a28c49da5c736b0977466fed8e96cc (diff) | |
download | driver-core-04db4e857fceeb15196d8f13d63e987ad214be38.tar.gz driver-core-04db4e857fceeb15196d8f13d63e987ad214be38.tar.bz2 driver-core-04db4e857fceeb15196d8f13d63e987ad214be38.zip |
Move rejection handler to DriverRoute
Diffstat (limited to 'src/main/scala/xyz/driver/core/rest/DriverRoute.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/rest/DriverRoute.scala | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/DriverRoute.scala b/src/main/scala/xyz/driver/core/rest/DriverRoute.scala index 1fe5e3f..5e629be 100644 --- a/src/main/scala/xyz/driver/core/rest/DriverRoute.scala +++ b/src/main/scala/xyz/driver/core/rest/DriverRoute.scala @@ -6,7 +6,7 @@ import akka.http.scaladsl.model._ import akka.http.scaladsl.model.StatusCodes import akka.http.scaladsl.model.headers._ import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.{Directive0, ExceptionHandler, RequestContext, Route} +import akka.http.scaladsl.server._ import com.typesafe.config.Config import com.typesafe.scalalogging.Logger import org.slf4j.MDC @@ -22,7 +22,7 @@ trait DriverRoute { def route: Route def routeWithDefaults: Route = { - (defaultResponseHeaders & handleExceptions(ExceptionHandler(exceptionHandler))) { + (defaultResponseHeaders & handleRejections(rejectionHandler) & handleExceptions(ExceptionHandler(exceptionHandler))) { route ~ defaultOptionsRoute } } @@ -84,6 +84,19 @@ trait DriverRoute { } } + protected def rejectionHandler: RejectionHandler = + RejectionHandler + .newBuilder() + .handle { + case rejection => + respondWithAllCorsHeaders { + RejectionHandler + .default(scala.collection.immutable.Seq(rejection)) + .getOrElse(complete("OK")) + } + } + .result() + /** * Override me for custom exception handling * |