diff options
author | zachdriver <zach@driver.xyz> | 2017-11-07 16:24:37 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-07 16:24:37 -0800 |
commit | cd9ca017a1eb246cd0a5227fd984fa188ecd36d4 (patch) | |
tree | 262800eef6a9976714cd2a8d3797b15af5dd60b5 /src/main | |
parent | 101c451480649c6d4aa8efb0294adf439512f8be (diff) | |
parent | f4fb8903004f4541e1d624ad3b60b13ca726a069 (diff) | |
download | driver-core-cd9ca017a1eb246cd0a5227fd984fa188ecd36d4.tar.gz driver-core-cd9ca017a1eb246cd0a5227fd984fa188ecd36d4.tar.bz2 driver-core-cd9ca017a1eb246cd0a5227fd984fa188ecd36d4.zip |
Add default headers to basic routes defined in DriverApp
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/scala/xyz/driver/core/app/DriverApp.scala | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/scala/xyz/driver/core/app/DriverApp.scala b/src/main/scala/xyz/driver/core/app/DriverApp.scala index 751bef7..5297c90 100644 --- a/src/main/scala/xyz/driver/core/app/DriverApp.scala +++ b/src/main/scala/xyz/driver/core/app/DriverApp.scala @@ -44,6 +44,7 @@ class DriverApp(appName: String, scheme: String = "http", port: Int = 8080, tracer: Tracer = NoTracer)(implicit actorSystem: ActorSystem, executionContext: ExecutionContext) { + self => import DriverApp._ implicit private lazy val materializer: ActorMaterializer = ActorMaterializer()(actorSystem) @@ -69,12 +70,16 @@ class DriverApp(appName: String, private def extractHeader(request: HttpRequest)(headerName: String): Option[String] = request.headers.find(_.name().toLowerCase === headerName).map(_.value()) - protected def appRoute: Route = { + def appRoute: Route = { val serviceTypes = modules.flatMap(_.routeTypes) val swaggerService = swaggerOverride(serviceTypes) val swaggerRoute = swaggerService.routes ~ swaggerService.swaggerUI val versionRt = versionRoute(version, gitHash, time.currentTime()) - val combinedRoute = modules.map(_.route).foldLeft(versionRt ~ healthRoute ~ swaggerRoute)(_ ~ _) + val basicRoutes = new DriverRoute { + override def log: Logger = self.log + override def route: Route = versionRt ~ healthRoute ~ swaggerRoute + } + val combinedRoute = modules.map(_.route).foldLeft(basicRoutes.routeWithDefaults)(_ ~ _) (extractHost & extractClientIP & trace(tracer)) { case (origin, ip) => |