aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-03-13 21:46:06 -0700
committervlad <vlad@driver.xyz>2017-03-13 21:46:06 -0700
commit871f8d7e4844890f920b960bc53ec0f99268d794 (patch)
treefe443620ca1b7f0d6e718b9392bbedf59638c1ee
parentc4ccac2705346d2c150612783a53bf6df50fece7 (diff)
downloaddriver-core-871f8d7e4844890f920b960bc53ec0f99268d794.tar.gz
driver-core-871f8d7e4844890f920b960bc53ec0f99268d794.tar.bz2
driver-core-871f8d7e4844890f920b960bc53ec0f99268d794.zip
Added writing tracking Id to MDC so it can be logged for all messages, removed some linkerd legacy and refined Revision equals
-rw-r--r--src/main/scala/xyz/driver/core/app.scala13
-rw-r--r--src/main/scala/xyz/driver/core/core.scala4
-rw-r--r--src/main/scala/xyz/driver/core/file.scala1
-rw-r--r--src/main/scala/xyz/driver/core/generators.scala1
-rw-r--r--src/main/scala/xyz/driver/core/json.scala1
-rw-r--r--src/main/scala/xyz/driver/core/rest.scala1
-rw-r--r--src/test/scala/xyz/driver/core/CoreTest.scala1
-rw-r--r--src/test/scala/xyz/driver/core/JsonTest.scala1
8 files changed, 8 insertions, 15 deletions
diff --git a/src/main/scala/xyz/driver/core/app.scala b/src/main/scala/xyz/driver/core/app.scala
index deb0e6a..090be76 100644
--- a/src/main/scala/xyz/driver/core/app.scala
+++ b/src/main/scala/xyz/driver/core/app.scala
@@ -14,7 +14,7 @@ import akka.http.scaladsl.server.{ExceptionHandler, Route, RouteConcatenation}
import akka.stream.ActorMaterializer
import com.typesafe.config.Config
import io.swagger.models.Scheme
-import org.slf4j.LoggerFactory
+import org.slf4j.{LoggerFactory, MDC}
import spray.json.DefaultJsonProtocol
import xyz.driver.core
import xyz.driver.core.logging.{Logger, TypesafeScalaLogger}
@@ -26,7 +26,7 @@ import xyz.driver.core.time.provider.{SystemTimeProvider, TimeProvider}
import scala.compat.Platform.ConcurrentModificationException
import scala.concurrent.duration._
-import scala.concurrent.{Await, Future}
+import scala.concurrent.{Await, ExecutionContext, Future}
object app {
@@ -40,12 +40,10 @@ object app {
interface: String = "::0",
baseUrl: String = "localhost:8080",
scheme: String = "http",
- port: Int = 8080) {
+ port: Int = 8080)(implicit actorSystem: ActorSystem, executionContext: ExecutionContext) {
- implicit private lazy val actorSystem = ActorSystem("spray-routing", config)
- implicit private lazy val executionContext = actorSystem.dispatcher
- implicit private lazy val materializer = ActorMaterializer()(actorSystem)
- private lazy val http = Http()(actorSystem)
+ implicit private lazy val materializer = ActorMaterializer()(actorSystem)
+ private lazy val http = Http()(actorSystem)
def run(): Unit = {
activateServices(modules)
@@ -73,6 +71,7 @@ object app {
http.bindAndHandle(route2HandlerFlow(handleExceptions(ExceptionHandler(exceptionHandler)) { ctx =>
val trackingId = rest.extractTrackingId(ctx.request)
log.audit(s"Received request ${ctx.request} with tracking id $trackingId")
+ MDC.put("trackingId", trackingId)
val contextWithTrackingId =
ctx.withRequest(ctx.request.addHeader(RawHeader(ContextHeaders.TrackingIdHeader, trackingId)))
diff --git a/src/main/scala/xyz/driver/core/core.scala b/src/main/scala/xyz/driver/core/core.scala
index 341d991..3e77c1f 100644
--- a/src/main/scala/xyz/driver/core/core.scala
+++ b/src/main/scala/xyz/driver/core/core.scala
@@ -60,9 +60,9 @@ package core {
implicit def nameOrdering[T]: Ordering[Name[T]] = Ordering.by(_.value)
}
- object revision {
- final case class Revision[T](id: String)
+ final case class Revision[T](id: String)
+ object Revision {
implicit def revisionEqual[T]: Equal[Revision[T]] = Equal.equal[Revision[T]](_.id == _.id)
}
diff --git a/src/main/scala/xyz/driver/core/file.scala b/src/main/scala/xyz/driver/core/file.scala
index 9cea9e5..42dc6b2 100644
--- a/src/main/scala/xyz/driver/core/file.scala
+++ b/src/main/scala/xyz/driver/core/file.scala
@@ -6,7 +6,6 @@ import java.util.UUID._
import com.amazonaws.services.s3.AmazonS3
import com.amazonaws.services.s3.model.{Bucket, GetObjectRequest, ListObjectsV2Request}
-import xyz.driver.core.revision.Revision
import xyz.driver.core.time.Time
import scala.concurrent.{ExecutionContext, Future}
diff --git a/src/main/scala/xyz/driver/core/generators.scala b/src/main/scala/xyz/driver/core/generators.scala
index 55cc3b4..8f3ff13 100644
--- a/src/main/scala/xyz/driver/core/generators.scala
+++ b/src/main/scala/xyz/driver/core/generators.scala
@@ -2,7 +2,6 @@ package xyz.driver.core
import java.math.MathContext
-import xyz.driver.core.revision.Revision
import xyz.driver.core.time.{Time, TimeRange}
import xyz.driver.core.date.Date
diff --git a/src/main/scala/xyz/driver/core/json.scala b/src/main/scala/xyz/driver/core/json.scala
index b23a8e4..01efd57 100644
--- a/src/main/scala/xyz/driver/core/json.scala
+++ b/src/main/scala/xyz/driver/core/json.scala
@@ -6,7 +6,6 @@ import akka.http.scaladsl.server.{PathMatcher, _}
import akka.http.scaladsl.unmarshalling.Unmarshaller
import spray.json.{DeserializationException, JsNumber, _}
import xyz.driver.core.auth.AuthCredentials
-import xyz.driver.core.revision.Revision
import xyz.driver.core.time.Time
import xyz.driver.core.date.Date
import xyz.driver.core.domain.{Email, PhoneNumber}
diff --git a/src/main/scala/xyz/driver/core/rest.scala b/src/main/scala/xyz/driver/core/rest.scala
index 33e0f97..ebdb1b9 100644
--- a/src/main/scala/xyz/driver/core/rest.scala
+++ b/src/main/scala/xyz/driver/core/rest.scala
@@ -56,7 +56,6 @@ object rest {
def extractContextHeaders(request: HttpRequest): Map[String, String] = {
request.headers.filter { h =>
h.name === ContextHeaders.AuthenticationTokenHeader || h.name === ContextHeaders.TrackingIdHeader
- // || ContextHeaders.LinkerD.isLinkerD(h.lowercaseName)
} map { header =>
if (header.name === ContextHeaders.AuthenticationTokenHeader) {
header.name -> header.value.stripPrefix(ContextHeaders.AuthenticationHeaderPrefix).trim
diff --git a/src/test/scala/xyz/driver/core/CoreTest.scala b/src/test/scala/xyz/driver/core/CoreTest.scala
index bb4742a..0518652 100644
--- a/src/test/scala/xyz/driver/core/CoreTest.scala
+++ b/src/test/scala/xyz/driver/core/CoreTest.scala
@@ -5,7 +5,6 @@ import java.io.ByteArrayOutputStream
import org.mockito.Mockito._
import org.scalatest.mock.MockitoSugar
import org.scalatest.{FlatSpec, Matchers}
-import xyz.driver.core.revision.Revision
class CoreTest extends FlatSpec with Matchers with MockitoSugar {
diff --git a/src/test/scala/xyz/driver/core/JsonTest.scala b/src/test/scala/xyz/driver/core/JsonTest.scala
index 8697b7f..760559c 100644
--- a/src/test/scala/xyz/driver/core/JsonTest.scala
+++ b/src/test/scala/xyz/driver/core/JsonTest.scala
@@ -2,7 +2,6 @@ package xyz.driver.core
import org.scalatest.{FlatSpec, Matchers}
import xyz.driver.core.json.{EnumJsonFormat, GadtJsonFormat, ValueClassFormat}
-import xyz.driver.core.revision.Revision
import xyz.driver.core.time.provider.SystemTimeProvider
import spray.json._
import xyz.driver.core.TestTypes.CustomGADT