in cdslogviewer/app/auth/HMAC.scala [52:74]
def calculateHmac(request: RequestHeader, sharedSecret: String, prependDeploymentPath:Boolean=true)(implicit config:Configuration):Option[String] = try {
request.headers.get("Digest").flatMap(extract_checksum).map(checksum=>{
val full_uri = prependDeploymentPath match {
case true=>config.getOptional[String]("deployment-root").getOrElse("") + request.uri
case false=>request.uri
}
logger.debug(s"full_uri: $full_uri")
logger.debug(s"date: ${request.headers.get("Date")}")
logger.debug(s"content-type: ${request.headers.get("Content-Type")}")
logger.debug(s"checksum: $checksum")
logger.debug(s"method: ${request.method}")
val string_to_sign = s"$full_uri\n${request.headers.get("Date").get}\n${request.headers.get("Content-Type").getOrElse("")}\n$checksum\n${request.method}"
logger.debug(s"Incoming request, string to sign: $string_to_sign")
val hmac = generateHMAC(sharedSecret, string_to_sign)
logger.debug(s"HMAC generated: $hmac")
hmac
})
} catch {
case e:java.util.NoSuchElementException=>
logger.debug(e.toString)
None
}