From 1ea8a5c1298edae003f5d4d8c4b9e8581d834b04 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Mon, 12 Mar 2018 17:18:04 +0700 Subject: Implemented extraction of fingerprint header; Added fingerprint hash to ServiceRequestContext and AuthorizedServiceRequestContext classes --- src/main/scala/xyz/driver/core/rest/package.scala | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/main/scala/xyz/driver/core/rest/package.scala') 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) -- cgit v1.2.3