From b3b426046a199307ce80d01b604115890724cb22 Mon Sep 17 00:00:00 2001 From: Sergey Nastich Date: Mon, 10 Sep 2018 19:05:40 -0400 Subject: 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 --- src/main/scala/xyz/driver/core/app/DriverApp.scala | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/main/scala/xyz/driver/core/app/DriverApp.scala') 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) => -- cgit v1.2.3