aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/app/DriverApp.scala
diff options
context:
space:
mode:
authorSergey Nastich <nastich@users.noreply.github.com>2018-09-10 19:05:40 -0400
committerGitHub <noreply@github.com>2018-09-10 19:05:40 -0400
commitb3b426046a199307ce80d01b604115890724cb22 (patch)
treeabe9a73aeda665e0138a9fe01924768de7129c60 /src/main/scala/xyz/driver/core/app/DriverApp.scala
parentf07bee564b11ee76fd065ec849a888bcf4e74e85 (diff)
downloaddriver-core-b3b426046a199307ce80d01b604115890724cb22.tar.gz
driver-core-b3b426046a199307ce80d01b604115890724cb22.tar.bz2
driver-core-b3b426046a199307ce80d01b604115890724cb22.zip
Add `Cache-Control: no-cache` to all responses of DriverRoutes. (#190)
This change is intended to battle IE (even IE 11) caching all GET responses (and not making any new ones) that don't list those headers
Diffstat (limited to 'src/main/scala/xyz/driver/core/app/DriverApp.scala')
-rw-r--r--src/main/scala/xyz/driver/core/app/DriverApp.scala16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/main/scala/xyz/driver/core/app/DriverApp.scala b/src/main/scala/xyz/driver/core/app/DriverApp.scala
index 2572d85..9214cea 100644
--- a/src/main/scala/xyz/driver/core/app/DriverApp.scala
+++ b/src/main/scala/xyz/driver/core/app/DriverApp.scala
@@ -125,14 +125,20 @@ class DriverApp(
def appRoute: Route = {
val serviceTypes = modules.flatMap(_.routeTypes)
val swaggerService = new Swagger(baseUrl, Scheme.forValue(scheme) :: Nil, version, serviceTypes, config, log)
- val swaggerRoute = swaggerService.routes ~ swaggerService.swaggerUI
- val versionRt = versionRoute(version, gitHash, time.currentTime())
+ val swaggerRoute = new DriverRoute {
+ def log: Logger = self.log
+ def route: Route = handleExceptions(ExceptionHandler(exceptionHandler)) {
+ swaggerService.routes ~ swaggerService.swaggerUI
+ }
+ }
+ val versionRt = versionRoute(version, gitHash, time.currentTime())
val basicRoutes = new DriverRoute {
- override def log: Logger = self.log
- override def route: Route = versionRt ~ healthRoute ~ swaggerRoute
+ def log: Logger = self.log
+ def route: Route = versionRt ~ healthRoute
}
val combinedRoute =
- Route.seal(modules.map(_.route).foldLeft(basicRoutes.routeWithDefaults)(_ ~ _) ~ defaultOptionsRoute)
+ Route.seal(
+ modules.map(_.route).foldLeft(basicRoutes.routeWithDefaults)(_ ~ _) ~ swaggerRoute.route ~ defaultOptionsRoute)
(extractHost & extractClientIP & trace(tracer) & handleRejections(authenticationRejectionHandler)) {
case (origin, ip) =>