summaryrefslogtreecommitdiffstats
path: root/application/exceptions
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2015-02-03 13:59:59 +0100
committerFlorian Pritz <bluewind@xinu.at>2015-02-03 16:15:52 +0100
commitbcd7920b817b60df9b1b266118419e44c39900db (patch)
treecf0b4515a6f99298109eb869b2d592a0e39bb465 /application/exceptions
parent5816cbcad0e9c4cda4dc10b730a5a1ea2c4e419a (diff)
generalize authentication handling
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'application/exceptions')
-rw-r--r--application/exceptions/ApiException.php5
-rw-r--r--application/exceptions/InsufficientPermissionsException.php14
-rw-r--r--application/exceptions/NotAuthenticatedException.php14
-rw-r--r--application/exceptions/UserInputException.php4
4 files changed, 37 insertions, 0 deletions
diff --git a/application/exceptions/ApiException.php b/application/exceptions/ApiException.php
index b288bbaa2..b3b9decff 100644
--- a/application/exceptions/ApiException.php
+++ b/application/exceptions/ApiException.php
@@ -27,4 +27,9 @@ class ApiException extends \Exception {
{
return $this->data;
}
+
+ public function get_http_error_code()
+ {
+ return 500;
+ }
}
diff --git a/application/exceptions/InsufficientPermissionsException.php b/application/exceptions/InsufficientPermissionsException.php
new file mode 100644
index 000000000..a036edf9d
--- /dev/null
+++ b/application/exceptions/InsufficientPermissionsException.php
@@ -0,0 +1,14 @@
+<?php
+/*
+ * Licensed under AGPLv3
+ * (see COPYING for full license text)
+ *
+ */
+namespace exceptions;
+
+class InsufficientPermissionsException extends UserInputException {
+ public function get_http_error_code()
+ {
+ return 403;
+ }
+}
diff --git a/application/exceptions/NotAuthenticatedException.php b/application/exceptions/NotAuthenticatedException.php
new file mode 100644
index 000000000..de26318d8
--- /dev/null
+++ b/application/exceptions/NotAuthenticatedException.php
@@ -0,0 +1,14 @@
+<?php
+/*
+ * Licensed under AGPLv3
+ * (see COPYING for full license text)
+ *
+ */
+namespace exceptions;
+
+class NotAuthenticatedException extends UserInputException {
+ public function get_http_error_code()
+ {
+ return 401;
+ }
+}
diff --git a/application/exceptions/UserInputException.php b/application/exceptions/UserInputException.php
index 150d0204b..d4c327315 100644
--- a/application/exceptions/UserInputException.php
+++ b/application/exceptions/UserInputException.php
@@ -7,4 +7,8 @@
namespace exceptions;
class UserInputException extends PublicApiException {
+ public function get_http_error_code()
+ {
+ return 400;
+ }
}