diff options
Diffstat (limited to 'src/main/scala/xyz/driver/core/rest/package.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/rest/package.scala | 9 |
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) |