aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-02-22 18:52:54 -0800
committervlad <vlad@driver.xyz>2017-02-22 18:52:54 -0800
commitd5fd8f858dfc8e21dbe8ee365e5d9017090812e7 (patch)
treec6b59c444e68dba2901b5ccd0e07a180b609ecd1 /src/main/scala
parent3c9b0ed55e3721595dafa273b015dec6add8c18b (diff)
downloaddriver-core-d5fd8f858dfc8e21dbe8ee365e5d9017090812e7.tar.gz
driver-core-d5fd8f858dfc8e21dbe8ee365e5d9017090812e7.tar.bz2
driver-core-d5fd8f858dfc8e21dbe8ee365e5d9017090812e7.zip
More logging for authorization
Diffstat (limited to 'src/main/scala')
-rw-r--r--src/main/scala/xyz/driver/core/app.scala8
-rw-r--r--src/main/scala/xyz/driver/core/rest.scala4
2 files changed, 12 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/app.scala b/src/main/scala/xyz/driver/core/app.scala
index 5482b3b..68c7cf0 100644
--- a/src/main/scala/xyz/driver/core/app.scala
+++ b/src/main/scala/xyz/driver/core/app.scala
@@ -1,5 +1,7 @@
package xyz.driver.core
+import java.sql.SQLException
+
import akka.actor.ActorSystem
import akka.http.scaladsl.Http
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
@@ -102,6 +104,12 @@ object app {
complete(
HttpResponse(Conflict, entity = "Resource was changed concurrently, try requesting a newer version"))(ctx)
+ case sex: SQLException =>
+ ctx =>
+ val trackingId = rest.extractTrackingId(ctx)
+ log.audit(s"Database exception for the resource ${ctx.request.uri} ($trackingId)", sex)
+ complete(HttpResponse(InternalServerError, entity = "Data access error"))(ctx)
+
case t: Throwable =>
ctx =>
val trackingId = rest.extractTrackingId(ctx)
diff --git a/src/main/scala/xyz/driver/core/rest.scala b/src/main/scala/xyz/driver/core/rest.scala
index 5e77ecd..da6df96 100644
--- a/src/main/scala/xyz/driver/core/rest.scala
+++ b/src/main/scala/xyz/driver/core/rest.scala
@@ -87,6 +87,7 @@ object rest {
protected implicit val execution: ExecutionContext
protected val authorization: Authorization
+ protected val log: Logger
/**
* Specific implementation on how to extract user from request context,
@@ -113,13 +114,16 @@ object rest {
else {
val challenge =
HttpChallenges.basic(s"User does not have the required permissions: ${permissions.mkString(", ")}")
+ log.error(s"User $user does not have the required permissions: ${permissions.mkString(", ")}")
reject(AuthenticationFailedRejection(CredentialsRejected, challenge))
}
case Success(None) =>
+ log.error(s"Wasn't able to find authenticated user for the token provided to verify ${permissions.mkString(", ")}")
reject(ValidationRejection(s"Wasn't able to find authenticated user for the token provided"))
case Failure(t) =>
+ log.error(s"Wasn't able to verify token for authenticated user to verify ${permissions.mkString(", ")}", t)
reject(ValidationRejection(s"Wasn't able to verify token for authenticated user", Some(t)))
}
}