summaryrefslogtreecommitdiffstats
path: root/lib/SimpleSAML/Error/AuthSource.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/SimpleSAML/Error/AuthSource.php')
-rw-r--r--lib/SimpleSAML/Error/AuthSource.php59
1 files changed, 57 insertions, 2 deletions
diff --git a/lib/SimpleSAML/Error/AuthSource.php b/lib/SimpleSAML/Error/AuthSource.php
index 6e353d5..7df5cad 100644
--- a/lib/SimpleSAML/Error/AuthSource.php
+++ b/lib/SimpleSAML/Error/AuthSource.php
@@ -2,12 +2,67 @@
/**
* Baseclass for auth source exceptions.
*
- * @author Thomas Graff <thomas.graff@uninett.no>
* @package simpleSAMLphp_base
* @version $Id$
*
*/
-class SimpleSAML_Error_AuthSource extends SimpleSAML_Error_Exception{
+class SimpleSAML_Error_AuthSource extends SimpleSAML_Error_Error {
+
+
+ /**
+ * Authsource module name.
+ */
+ private $authsource;
+
+
+ /**
+ * Reason why this request was invalid.
+ */
+ private $reason;
+
+
+ /**
+ * Create a new AuthSource error.
+ *
+ * @param string $authsource Authsource module name from where this error was thrown.
+ * @param string $reason Description of the error.
+ */
+ public function __construct($authsource, $reason, $cause = NULL) {
+ assert('is_string($authsource)');
+ assert('is_string($reason)');
+
+ $this->authsource = $authsource;
+ $this->reason = $reason;
+ parent::__construct(
+ array(
+ 'AUTHSOURCEERROR',
+ '%AUTHSOURCE%' => htmlspecialchars(var_export($this->authsource, TRUE)),
+ '%REASON%' => htmlspecialchars(var_export($this->reason, TRUE))
+ ),
+ $cause
+ );
+ }
+
+
+ /**
+ * Retrieve the authsource module name from where this error was thrown.
+ *
+ * @return string Authsource module name.
+ */
+ public function getAuthSource() {
+ return $this->authsource;
+ }
+
+
+ /**
+ * Retrieve the reason why the request was invalid.
+ *
+ * @return string The reason why the request was invalid.
+ */
+ public function getReason() {
+ return $this->reason;
+ }
+
}