From c84ea1ea624271d67bee8cf4724182b5ff60fa69 Mon Sep 17 00:00:00 2001 From: Mathieu Pipet Date: Tue, 9 Jun 2015 17:30:13 +0200 Subject: [PATCH] Expose parameter passed to exceptions --- src/Exception/InvalidGrantException.php | 1 + src/Exception/InvalidRequestException.php | 1 + src/Exception/InvalidScopeException.php | 1 + src/Exception/OAuthException.php | 15 +++++++++++++++ src/Exception/ServerErrorException.php | 2 ++ src/Exception/UnsupportedGrantTypeException.php | 1 + .../UnsupportedResponseTypeException.php | 1 + 7 files changed, 22 insertions(+) diff --git a/src/Exception/InvalidGrantException.php b/src/Exception/InvalidGrantException.php index 051330e9..89bbaf06 100644 --- a/src/Exception/InvalidGrantException.php +++ b/src/Exception/InvalidGrantException.php @@ -32,6 +32,7 @@ class InvalidGrantException extends OAuthException public function __construct($parameter) { + $this->parameter = parameter; parent::__construct( sprintf( 'The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client. Check the "%s" parameter.', diff --git a/src/Exception/InvalidRequestException.php b/src/Exception/InvalidRequestException.php index 05535203..fc45a396 100644 --- a/src/Exception/InvalidRequestException.php +++ b/src/Exception/InvalidRequestException.php @@ -32,6 +32,7 @@ class InvalidRequestException extends OAuthException public function __construct($parameter, $redirectUri = null) { + $this->parameter = parameter; parent::__construct( sprintf( 'The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the "%s" parameter.', diff --git a/src/Exception/InvalidScopeException.php b/src/Exception/InvalidScopeException.php index f0574f8d..cb437c3b 100644 --- a/src/Exception/InvalidScopeException.php +++ b/src/Exception/InvalidScopeException.php @@ -32,6 +32,7 @@ class InvalidScopeException extends OAuthException public function __construct($parameter, $redirectUri = null) { + $this->parameter = parameter; parent::__construct( sprintf( 'The requested scope is invalid, unknown, or malformed. Check the "%s" scope.', diff --git a/src/Exception/OAuthException.php b/src/Exception/OAuthException.php index e8e5e723..e66f16c5 100644 --- a/src/Exception/OAuthException.php +++ b/src/Exception/OAuthException.php @@ -36,6 +36,11 @@ class OAuthException extends \Exception */ public $errorType = ''; + /** + * Parameter eventually passed to Exception + */ + public $parameter = ''; + /** * Throw a new exception * @@ -72,6 +77,16 @@ class OAuthException extends \Exception ); } + /** + * Return parameter if set + * + * @return string + */ + public function getParameter() + { + return $this->redirectUri; + } + /** * Get all headers that have to be send with the error response * diff --git a/src/Exception/ServerErrorException.php b/src/Exception/ServerErrorException.php index fe5a7df1..685cc946 100644 --- a/src/Exception/ServerErrorException.php +++ b/src/Exception/ServerErrorException.php @@ -31,7 +31,9 @@ class ServerErrorException extends OAuthException */ public function __construct($parameter = null) { + $this->parameter = parameter; $parameter = is_null($parameter) ? 'The authorization server encountered an unexpected condition which prevented it from fulfilling the request.' : $parameter; parent::__construct($parameter); + } } diff --git a/src/Exception/UnsupportedGrantTypeException.php b/src/Exception/UnsupportedGrantTypeException.php index 5a4f1d90..5b15de5b 100644 --- a/src/Exception/UnsupportedGrantTypeException.php +++ b/src/Exception/UnsupportedGrantTypeException.php @@ -32,6 +32,7 @@ class UnsupportedGrantTypeException extends OAuthException public function __construct($parameter) { + $this->parameter = parameter; parent::__construct( sprintf( 'The authorization grant type "%s" is not supported by the authorization server.', diff --git a/src/Exception/UnsupportedResponseTypeException.php b/src/Exception/UnsupportedResponseTypeException.php index 8707f0c5..43677d02 100644 --- a/src/Exception/UnsupportedResponseTypeException.php +++ b/src/Exception/UnsupportedResponseTypeException.php @@ -31,6 +31,7 @@ class UnsupportedResponseTypeException extends OAuthException */ public function __construct($parameter, $redirectUri = null) { + $this->parameter = parameter; parent::__construct('The authorization server does not support obtaining an access token using this method.'); $this->redirectUri = $redirectUri; }