aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/rest/package.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/core/rest/package.scala')
-rw-r--r--src/main/scala/xyz/driver/core/rest/package.scala9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/package.scala b/src/main/scala/xyz/driver/core/rest/package.scala
index 632091a..3b17167 100644
--- a/src/main/scala/xyz/driver/core/rest/package.scala
+++ b/src/main/scala/xyz/driver/core/rest/package.scala
@@ -91,12 +91,12 @@ object `package` {
"Content-Length",
"Accept",
"X-Trace",
- ContextHeaders.ClientFingerprintHeader,
"Access-Control-Allow-Methods",
"Access-Control-Allow-Origin",
"Access-Control-Allow-Headers",
"Server",
"Date",
+ ContextHeaders.ClientFingerprintHeader,
ContextHeaders.TrackingIdHeader,
ContextHeaders.TraceHeaderName,
ContextHeaders.SpanHeaderName,
@@ -148,6 +148,7 @@ object `package` {
new ServiceRequestContext(
extractTrackingId(request),
extractOriginatingIP(request, remoteAddress),
+ extractFingerprintHash(request),
extractContextHeaders(request))
def extractTrackingId(request: HttpRequest): String = {
@@ -156,6 +157,12 @@ object `package` {
.fold(java.util.UUID.randomUUID.toString)(_.value())
}
+ def extractFingerprintHash(request: HttpRequest): Option[String] = {
+ request.headers
+ .find(_.name === ContextHeaders.ClientFingerprintHeader)
+ .map(_.value())
+ }
+
def extractOriginatingIP(request: HttpRequest, remoteAddress: RemoteAddress): Option[InetAddress] = {
request.headers
.find(_.name === ContextHeaders.OriginatingIpHeader)