From 5d3de80a62fcf4cebec7d87cc3ef503d40c30b5a Mon Sep 17 00:00:00 2001 From: Zach Smith Date: Wed, 24 May 2017 17:10:24 -0700 Subject: Change to lazy loading public key --- src/main/scala/xyz/driver/core/file/S3Storage.scala | 12 +++++++----- src/main/scala/xyz/driver/core/rest.scala | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'src/main/scala/xyz/driver/core') diff --git a/src/main/scala/xyz/driver/core/file/S3Storage.scala b/src/main/scala/xyz/driver/core/file/S3Storage.scala index 50bfe85..933b01a 100644 --- a/src/main/scala/xyz/driver/core/file/S3Storage.scala +++ b/src/main/scala/xyz/driver/core/file/S3Storage.scala @@ -53,11 +53,13 @@ class S3Storage(s3: AmazonS3, bucket: Name[Bucket], executionContext: ExecutionC result.isTruncated } flatMap { result => result.getObjectSummaries.asScala.toList.map { summary => - FileLink(Name[File](summary.getKey), - Paths.get(path.toString + "/" + summary.getKey), - Revision[File](summary.getETag), - Time(summary.getLastModified.getTime), - summary.getSize) + FileLink( + Name[File](summary.getKey), + Paths.get(path.toString + "/" + summary.getKey), + Revision[File](summary.getETag), + Time(summary.getLastModified.getTime), + summary.getSize + ) } filterNot isInSubFolder(path) } toList }) diff --git a/src/main/scala/xyz/driver/core/rest.scala b/src/main/scala/xyz/driver/core/rest.scala index 2ff8ae8..1db9d09 100644 --- a/src/main/scala/xyz/driver/core/rest.scala +++ b/src/main/scala/xyz/driver/core/rest.scala @@ -180,7 +180,7 @@ package rest { Future.successful(AuthorizationResult(authorized = true, ctx.permissionsToken)) } - class CachedTokenAuthorization[U <: User](publicKey: PublicKey, issuer: String) extends Authorization[U] { + class CachedTokenAuthorization[U <: User](publicKey: => PublicKey, issuer: String) extends Authorization[U] { override def userHasPermissions(user: U, permissions: Seq[Permission])( implicit ctx: ServiceRequestContext): Future[AuthorizationResult] = { import spray.json._ @@ -213,7 +213,7 @@ package rest { object CachedTokenAuthorization { def apply[U <: User](publicKeyFile: Path, issuer: String): CachedTokenAuthorization[U] = { - val publicKey: PublicKey = { + lazy val publicKey: PublicKey = { val publicKeyBytes = Files.readAllBytes(publicKeyFile) val spec = new X509EncodedKeySpec(publicKeyBytes) KeyFactory.getInstance("RSA").generatePublic(spec) -- cgit v1.2.3