aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/rest/package.scala
diff options
context:
space:
mode:
authorAleksandr <ognelisar@gmail.com>2018-03-12 17:18:04 +0700
committerAleksandr <ognelisar@gmail.com>2018-03-12 17:18:04 +0700
commit1ea8a5c1298edae003f5d4d8c4b9e8581d834b04 (patch)
tree5df240992cb9ee08f15942653ee7f9b1c2a3573a /src/main/scala/xyz/driver/core/rest/package.scala
parentf74f73681a09b5a2ac6bac8b560e2988ebc1279b (diff)
downloaddriver-core-1ea8a5c1298edae003f5d4d8c4b9e8581d834b04.tar.gz
driver-core-1ea8a5c1298edae003f5d4d8c4b9e8581d834b04.tar.bz2
driver-core-1ea8a5c1298edae003f5d4d8c4b9e8581d834b04.zip
Implemented extraction of fingerprint header; Added fingerprint hash to ServiceRequestContext and AuthorizedServiceRequestContext classes
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)