From afc232f5fcb30811aedd4c2e255dda069bafed9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Th=C3=A9ron?= <francois.theron@epfl.ch> Date: Thu, 17 Apr 2025 11:31:46 +0200 Subject: [PATCH] style: removing brackets --- .../scala/cs214/webapp/server/web/decorators.scala | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/jvm/src/main/scala/cs214/webapp/server/web/decorators.scala b/jvm/src/main/scala/cs214/webapp/server/web/decorators.scala index 9149e34..4b05755 100644 --- a/jvm/src/main/scala/cs214/webapp/server/web/decorators.scala +++ b/jvm/src/main/scala/cs214/webapp/server/web/decorators.scala @@ -23,23 +23,21 @@ object decorators: cask.Response(f"Invalid or missing 'Origin' header: must match the Host", 403) class adminAuth(expectedAdminKeyOpt: Option[String]) extends cask.router.Decorator[cask.Response[JsonData], cask.Response[JsonData], Any]: - private val expectedAuthOpt: Option[String] = expectedAdminKeyOpt.map { key => - s"Basic ${Base64.getEncoder.encodeToString(s"$key:".getBytes("UTF-8"))}" - } + private val expectedAuthOpt: Option[String] = expectedAdminKeyOpt.map: + key => s"Basic ${Base64.getEncoder.encodeToString(s"$key:".getBytes("UTF-8"))}" + private val expectedAuthBytesOpt: Option[Array[Byte]] = expectedAuthOpt.map(_.getBytes("UTF-8")) - override def wrapFunction(request: cask.Request, delegate: Delegate) = val authHeaderOpt: Option[String] = request.headers.get("authorization").flatMap(_.headOption) val authHeaderBytesOpt: Option[Array[Byte]] = authHeaderOpt.map(_.getBytes("UTF-8")) // Perform the check using constant time comparison - val authorized = (expectedAuthBytesOpt, authHeaderBytesOpt) match { + val authorized = (expectedAuthBytesOpt, authHeaderBytesOpt) match case (Some(expectedBytes), Some(actualBytes)) => MessageDigest.isEqual(actualBytes, expectedBytes) case _ => // Either expected key wasn't configured OR header was missing/malformed false - } if (authorized){ delegate(Map()) } else { @@ -49,5 +47,4 @@ object decorators: statusCode = 401, headers = Seq("WWW-Authenticate" -> "Basic realm=\"Admin API\"") ) - } - \ No newline at end of file + } \ No newline at end of file -- GitLab